CVE-2025-38001
MediumIn the Linux kernel, the following vulnerability has been resolved: net_sched: hfsc: Address reentrant enqueue adding class to eltree twice Savino says: "We are writing to report that this recent patch (141d34391abbb315d68556b7c67ad97885407547) [1] can be bypassed, and a UAF can still occur when HFSC is utilized with NETEM. The patch only checks the cl->cl_nactive field to determine whether it is the first insertion or not [2], but this field is only incremented by init_vf [3]. By using HFSC_RSC (which uses init_ed) [4], it is possible to bypass the check and insert the class twice in the eltree. Under normal conditions, this would lead to an infinite loop in hfsc_dequeue for the reasons we already explained in this report [5]. However, if TBF is added as root qdisc and it is configured with a very low rate, it can be utilized to prevent packets from being dequeued. This behavior can be exploited to perform subsequent insertions in the HFSC eltree and cause a UAF." To fix both the UAF and the infinite loop, with netem as an hfsc child, check explicitly in hfsc_enqueue whether the class is already in the eltree whenever the HFSC_RSC flag is set. [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=141d34391abbb315d68556b7c67ad97885407547 [2] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1572 [3] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L677 [4] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1574 [5] https://lore.kernel.org/netdev/8DuRWwfqjoRDLDmBMlIfbrsZg9Gx50DHJc1ilxsEBNe2D6NMoigR_eIRIG0LOjMc3r10nUUZtArXx4oZBIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/T/#u
CVSS 3.1 score
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness type
CWE-835CVE-2025-38001 is a Infinite Loop vulnerability
What is Infinite Loop?
The product contains an iteration that does not exit even when it should. Learn more on MITRE CWE
Affected versions
Linux kernel versions
5.0
and later are affected. Fixed in
5.4.294,
5.10.238,
5.15.185,
6.1.141,
6.6.93,
6.12.32,
6.14.10,
6.15.1,
6.16
and their respective stable series.
References
The following references provide additional information about CVE-2025-38001 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
Syst3Mfailurehttps://syst3mfailure.io/rbtree-family-drama/Third Party Advisory
-
Third Party Advisory
-
Third Party Advisory
-
PatchKernel patch commithttps://git.kernel.org/stable/c/295f7c579b07b5b7cf2dffe485f71cc2f27647cb
-
PatchKernel patch commithttps://git.kernel.org/stable/c/2c928b3a0b04a431ffcd6c8b7d88a267124a3a28
-
PatchKernel patch commithttps://git.kernel.org/stable/c/2f2190ce4ca972051cac6a8d7937448f8cb9673c
Frequently asked questions
-
What is CVE-2025-38001?
CVE-2025-38001 is a Medium severity Linux kernel vulnerability with a CVSS score of 5.5 out of 10 , classified as an Infinite Loop flaw (CWE-835) . It affects Linux kernel versions from 5.0 onward and has been patched in 5.4.294, 5.10.238, 5.15.185 and others. CVE-2025-38001 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2025-38001?
CVE-2025-38001 has a CVSS score of 5.5 out of 10, rated Medium severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. -
Is there a patch available for CVE-2025-38001?
Yes — CVE-2025-38001 has been patched. Fixed versions include 5.4.294, 5.10.238, 5.15.185 and others. If you are running Linux kernel 5.0 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2025-38001 actively exploited?
No — CVE-2025-38001 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
-
What is Infinite Loop (CWE-835)?
The product contains an iteration that does not exit even when it should. View CWE-835 on MITRE CWE →