CVE-2025-38000

sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue()

HIGH
7.8
CVSS Score
Published: June 6, 2025 at 01:03 PM UTC
Updated: October 15, 2026 at 10:18 PM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue() When enqueuing the first packet to an HFSC class, hfsc_enqueue() calls the child qdisc's peek() operation before incrementing sch->q.qlen and sch->qstats.backlog. If the child qdisc uses qdisc_peek_dequeued(), this may trigger an immediate dequeue and potential packet drop. In such cases, qdisc_tree_reduce_backlog() is called, but the HFSC qdisc's qlen and backlog have not yet been updated, leading to inconsistent queue accounting. This can leave an empty HFSC class in the active list, causing further consequences like use-after-free. This patch fixes the bug by moving the increment of sch->q.qlen and sch->qstats.backlog before the call to the child qdisc's peek() operation. This ensures that queue length and backlog are always accurate when packet drops or dequeues are triggered during the peek.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.8 ≤ v < 5.4.2945.11 ≤ v < 5.15.1855.16 ≤ v < 6.1.1415.5 ≤ v < 5.10.2386.13 ≤ v < 6.14.96.2 ≤ v < 6.6.936.7 ≤ v < 6.12.3112d0ad3be9c3854e52ec74bb83bb6f43612827c76.156.15 rc16.15 rc26.15 rc36.15 rc46.15 rc56.15 rc66.15 rc7
Vendor states this is fixed in 1034e3310752e8675e313f7271b348914008719a (fixed)
Vendor states this is fixed in 3f3a22eebbc32b4fa8ce9c1d5f9db214b45b9335 (fixed)
Vendor states this is fixed in 3f981138109f63232a5fb7165938d4c945cc1b9d (fixed)
Vendor states this is fixed in 49b21795b8e5654a7df3d910a12e1060da4c04cf (fixed)
Vendor states this is fixed in 89c301e929a0db14ebd94b4d97764ce1d6981653 (fixed)
Vendor states this is fixed in 93c276942e75de0e5bc91576300d292e968f5a02 (fixed)
Vendor states this is fixed in f1dde3eb17dc1b8bd07aed00004b1e05fc87a3d4 (fixed)
Vendor states this is fixed in f9f593e34d2fb67644372c8f7b033bdc622ad228 (fixed)
Vendor states this is fixed in 4.8 (unaffected)
Vendor states this is fixed in 5.10.238 (unaffected)
Vendor states this is fixed in 5.15.185 (unaffected)
Vendor states this is fixed in 5.4.294 (unaffected)
Vendor states this is fixed in 6.1.141 (unaffected)
Vendor states this is fixed in 6.12.31 (unaffected)
Vendor states this is fixed in 6.14.9 (unaffected)
Vendor states this is fixed in 6.15 (unaffected)
Vendor states this is fixed in 6.6.93 (unaffected)

References (10)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1034e3310752e8675e313f7271b348914008719a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3f3a22eebbc32b4fa8ce9c1d5f9db214b45b9335
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3f981138109f63232a5fb7165938d4c945cc1b9d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/49b21795b8e5654a7df3d910a12e1060da4c04cf
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/89c301e929a0db14ebd94b4d97764ce1d6981653
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/93c276942e75de0e5bc91576300d292e968f5a02
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f1dde3eb17dc1b8bd07aed00004b1e05fc87a3d4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f9f593e34d2fb67644372c8f7b033bdc622ad228

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card