CVE-2025-38457: Linux kernel · net/sched: Abort __tc_modify_qdisc if parent class does not exist
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 5.5 Medium · fixed in 5.15.0-1092.99~20.04.1 : update Linux kernel when convenient.
Data as of 26 Oct 2026, 11:07 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 5.15.0-1092.99~20.04.1, 5.15.0-1096.105~20.04.1, 5.15.0-1092.101~20.04.1 +58
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 25 Jul 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Patches and advisories
- ubuntu.com/security/notices/USN-7774-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7776-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-5 (opens in a new tab)
- ubuntu.com/security/notices/USN-7879-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7879-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7880-1 (opens in a new tab)
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 25.10linux-azure-fdepkg:deb/ubuntu/linux-azure-fde?arch=source&distro=questingOther threats | Affected
| Fixed in– |
Ubuntu 24.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-aws-6.14pkg:deb/ubuntu/linux-aws-6.14?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-azure-6.11pkg:deb/ubuntu/linux-azure-6.11?arch=source&distro=nobleOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
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/
References
- ubuntu.com/security/CVE-2025-38457 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2025-38457 (opens in a new tab)
- git.kernel.org/linus/ffdde7bf5a439aaa1955ebd581f5c64ab1533963 (opens in a new tab)
- git.kernel.org/stable/c/23c165dde88eac405eebb59051ea1fe139a45803 (opens in a new tab)
- git.kernel.org/stable/c/25452638f133ac19d75af3f928327d8016952c8e (opens in a new tab)
- git.kernel.org/stable/c/4c691d1b6b6dbd73f30ed9ee7da05f037b0c49af (opens in a new tab)
- git.kernel.org/stable/c/8ecd651ef24ab50123692a4e3e25db93cb11602a (opens in a new tab)
- git.kernel.org/stable/c/90436e72c9622c2f70389070088325a3232d339f (opens in a new tab)
- git.kernel.org/stable/c/923a276c74e25073ae391e930792ac86a9f77f1e (opens in a new tab)
- git.kernel.org/stable/c/e28a383d6485c3bb51dc5953552f76c4dea33eea (opens in a new tab)
- git.kernel.org/stable/c/ffdde7bf5a439aaa1955ebd581f5c64ab1533963 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7776-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7775-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-7774-5 (opens in a new tab)