5.5 CVE-2025-38001

Enriched by CISA Patch Exploit
 

In 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
https://nvd.nist.gov/vuln/detail/CVE-2025-38001

Categories

CWE-835 : Loop with Unreachable Exit Condition ('Infinite Loop')
The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop. Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.) Chain: library for implementing Profinet devices does not check an input for a loop condition (CWE-606), allowing an infinite loop (CWE-835) via a crafted RPC packet Chain: an operating system does not properly process malformed Open Shortest Path First (OSPF) Type/Length/Value Identifiers (TLV) (CWE-703), which can cause the process to enter an infinite loop (CWE-835) A Python machine communication platform did not account for receiving a malformed packet with a null size, causing the receiving function to never update the message buffer and be caught in an infinite loop. Chain: off-by-one error (CWE-193) leads to infinite loop (CWE-835) using invalid hex-encoded characters. Chain: self-referential values in recursive definitions lead to infinite loop. NULL UDP packet is never cleared from a queue, leading to infinite loop. Chain: web browser crashes due to infinite loop - "badlooping logic [that relies on] floating point math [CWE-1339] to exitthe loop [CWE-835]" Floating point conversion routine cycles back and forth between two different values. Floating point conversion routine cycles back and forth between two different values. Chain: improperly clearing a pointer in a linked list leads to infinite loop. Chain: an integer overflow (CWE-190) in the image size calculation causes an infinite loop (CWE-835) which sequentially allocates buffers without limits (CWE-1325) until the stack is full. Chain: A denial of service may be caused by an uninitialized variable (CWE-457) allowing an infinite loop (CWE-835) resulting from a connection to an unresponsive server.

References


 

AFFECTED (from MITRE)


Vendor Product Versions
Linux Linux
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < e5bee633cc276410337d54b99f77fbc1ad8801e5 [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 6672e6c00810056acaac019fe26cdc26fee8a66c [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 2c928b3a0b04a431ffcd6c8b7d88a267124a3a28 [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < a0ec22fa20b252edbe070a9de8501eef63c17ef5 [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 295f7c579b07b5b7cf2dffe485f71cc2f27647cb [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 2f2190ce4ca972051cac6a8d7937448f8cb9673c [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 4e38eaaabfb7fffbb371a51150203e19eee5d70e [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < 39ed887b1dd2d6b720f87e86692ac3006cc111c8 [affected]
  • 37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea < ac9fe7dd8e730a103ae4481147395cc73492d786 [affected]
Linux Linux
  • 5.0 [affected]
  • < 5.0 [unaffected]
  • 5.4.294 ≤ 5.4.* [unaffected]
  • 5.10.238 ≤ 5.10.* [unaffected]
  • 5.15.185 ≤ 5.15.* [unaffected]
  • 6.1.141 ≤ 6.1.* [unaffected]
  • 6.6.93 ≤ 6.6.* [unaffected]
  • 6.12.32 ≤ 6.12.* [unaffected]
  • 6.14.10 ≤ 6.14.* [unaffected]
  • 6.15.1 ≤ 6.15.* [unaffected]
  • 6.16 ≤ * [unaffected]
© 2022 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation.

CPE

cpe start end
Configuration 1
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.0.1 < 5.4.294
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.5 < 5.10.238
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.11 < 5.15.185
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.16 < 6.1.141
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 6.2 < 6.6.93
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 6.7 < 6.12.32
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 6.13 < 6.14.10
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 6.15 < 6.15.1
cpe:2.3:o:linux:linux_kernel:5.0:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.0:rc8:*:*:*:*:*:*
Configuration 2
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:12.0:*:*:*:*:*:*:*


REMEDIATION


Patch

Url
https://git.kernel.org/stable/c/295f7c579b07b5b7cf2dffe485f71cc2f27647cb
https://git.kernel.org/stable/c/2c928b3a0b04a431ffcd6c8b7d88a267124a3a28
https://git.kernel.org/stable/c/2f2190ce4ca972051cac6a8d7937448f8cb9673c
https://git.kernel.org/stable/c/39ed887b1dd2d6b720f87e86692ac3006cc111c8
https://git.kernel.org/stable/c/4e38eaaabfb7fffbb371a51150203e19eee5d70e
https://git.kernel.org/stable/c/6672e6c00810056acaac019fe26cdc26fee8a66c
https://git.kernel.org/stable/c/a0ec22fa20b252edbe070a9de8501eef63c17ef5
https://git.kernel.org/stable/c/ac9fe7dd8e730a103ae4481147395cc73492d786
https://git.kernel.org/stable/c/e5bee633cc276410337d54b99f77fbc1ad8801e5


EXPLOITS


Exploit-db.com

id description date
No known exploits

POC Github

Url
https://github.com/0xdevil/CVE-2025-38001
https://github.com/aexdyhaxor/CVE-2025-38001

Other Nist (github, ...)

Url
No known exploits


CAPEC


Common Attack Pattern Enumerations and Classifications

id description severity
No entry