-

CVE-2025-38457

In the Linux kernel, the following vulnerability has been resolved:

net/sched: Abort __tc_modify_qdisc if parent class does not exist

Lion's patch [1] revealed an ancient bug in the qdisc API.
Whenever a user creates/modifies a qdisc specifying as a parent another
qdisc, the qdisc API will, during grafting, detect that the user is
not trying to attach to a class and reject. However grafting is
performed after qdisc_create (and thus the qdiscs' init callback) is
executed. In qdiscs that eventually call qdisc_tree_reduce_backlog
during init or change (such as fq, hhf, choke, etc), an issue
arises. For example, executing the following commands:

sudo tc qdisc add dev lo root handle a: htb default 2
sudo tc qdisc add dev lo parent a: handle beef fq

Qdiscs such as fq, hhf, choke, etc unconditionally invoke
qdisc_tree_reduce_backlog() in their control path init() or change() which
then causes a failure to find the child class; however, that does not stop
the unconditional invocation of the assumed child qdisc's qlen_notify with
a null class. All these qdiscs make the assumption that class is non-null.

The solution is ensure that qdisc_leaf() which looks up the parent
class, and is invoked prior to qdisc_create(), should return failure on
not finding the class.
In this patch, we leverage qdisc_leaf to return ERR_PTRs whenever the
parentid doesn't correspond to a class, so that we can detect it
earlier on and abort before qdisc_create is called.

[1] https://lore.kernel.org/netdev/d912cbd7-193b-4269-9857-525bee8bbb6a@gmail.com/

Verknüpft mit AI von unstrukturierten Daten zu bestehenden CPE der NVD
Diese Information steht angemeldeten Benutzern zur Verfügung.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version < 923a276c74e25073ae391e930792ac86a9f77f1e
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < 90436e72c9622c2f70389070088325a3232d339f
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < 25452638f133ac19d75af3f928327d8016952c8e
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < 23c165dde88eac405eebb59051ea1fe139a45803
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < 4c691d1b6b6dbd73f30ed9ee7da05f037b0c49af
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < 8ecd651ef24ab50123692a4e3e25db93cb11602a
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < e28a383d6485c3bb51dc5953552f76c4dea33eea
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
Version < ffdde7bf5a439aaa1955ebd581f5c64ab1533963
Version 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 2.6.20
Status affected
Version < 2.6.20
Version 0
Status unaffected
Version <= 5.4.*
Version 5.4.296
Status unaffected
Version <= 5.10.*
Version 5.10.240
Status unaffected
Version <= 5.15.*
Version 5.15.189
Status unaffected
Version <= 6.1.*
Version 6.1.146
Status unaffected
Version <= 6.6.*
Version 6.6.99
Status unaffected
Version <= 6.12.*
Version 6.12.39
Status unaffected
Version <= 6.15.*
Version 6.15.7
Status unaffected
Version <= *
Version 6.16
Status unaffected
Zu dieser CVE wurde keine CISA KEV oder CERT.AT-Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.04% 0.103
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String