CVE-2025-38000: sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue()
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.
Security readout for executives and security teams
Plain-English summary
A Linux traffic-scheduling accounting error can leave an empty HFSC queue marked active, potentially causing use-after-free and compromising confidentiality, integrity, or availability. Exploitation requires local, low-privileged access according to the supplied CVSS vector, so this is serious but not described as remotely exploitable.
Executive priority
Address promptly, prioritizing systems with untrusted local users and confirmed HFSC use. Internet exposure alone does not establish reachability because the supplied assessment is local. Require owners to verify vendor-fixed kernel packages rather than relying only on upstream version strings.
Technical view
In hfsc_enqueue(), queue length and backlog were updated after invoking a child qdisc's peek operation. If that operation immediately dequeued or dropped a packet, backlog reduction occurred against stale accounting. The resulting inconsistent HFSC state could retain an empty class in the active list and lead to use-after-free. Stable kernel commits reorder accounting before peek.
Likely exposure
Exposure is limited to Linux systems containing the affected code and using the HFSC queueing discipline in a triggering configuration. The supplied data identifies affected kernel versions but does not clearly define normalized fixed ranges for every maintained branch. Confirm exposure against distribution-specific kernel advisories and build provenance.
Exploitation context
The supplied CVSS 3.1 score is 7.8 with local attack vector, low complexity, low privileges, and no user interaction. The bundle marks KEV false and provides no cited evidence of active exploitation, public weaponization, or remote reachability. Treat exploitation status as unconfirmed.
Researcher notes
The failure involves stale qlen and backlog accounting during a re-entrant dequeue or drop initiated by peek. The documented consequence is an empty class remaining active, with possible use-after-free. No CWE is supplied. Exact exploitability prerequisites, affected branch boundaries, and demonstrated impact are not established by the bundle.
Mitigation direction
Install the vendor or distribution kernel update containing the referenced stable fix.
Reboot into the updated kernel when required by the distribution's maintenance procedure.
Check Linux distribution advisories for the corrected package version applicable to each system.
Restrict unnecessary local account access while affected kernels remain deployed.
Review whether HFSC is operationally required and consult vendor guidance before changing traffic-control configurations.
Validation and detection
Inventory running kernel versions and map them to distribution security advisories.
Determine which systems use the HFSC queueing discipline.
Verify installed kernel packages contain an applicable referenced stable commit or vendor backport.
Confirm systems booted into the corrected kernel after maintenance.
Monitor kernel logs and stability telemetry for unexplained traffic-control or memory-related failures.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38000 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
11Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.