CVE-2025-38177: sch_hfsc: make hfsc_qlen_notify() idempotent
In the Linux kernel, the following vulnerability has been resolved:
sch_hfsc: make hfsc_qlen_notify() idempotent
hfsc_qlen_notify() is not idempotent either and not friendly
to its callers, like fq_codel_dequeue(). Let's make it idempotent
to ease qdisc_tree_reduce_backlog() callers' life:
1. update_vf() decreases cl->cl_nactive, so we can check whether it is
non-zero before calling it.
2. eltree_remove() always removes RB node cl->el_node, but we can use
RB_EMPTY_NODE() + RB_CLEAR_NODE() to make it safe.
Security readout for executives and security teams
Plain-English summary
A Linux kernel flaw in the HFSC network traffic scheduler can mishandle repeated queue-length notifications. The supplied CVSS assessment indicates a low-privileged local attacker could potentially cause serious confidentiality, integrity, and availability impacts. Exposure depends on the running kernel and whether the affected scheduler path is reachable.
Executive priority
Prioritize remediation on multi-user or otherwise locally accessible Linux systems, especially where HFSC is used. This is high severity, but the supplied evidence does not establish remote reachability or active exploitation. Use normal expedited kernel-patching procedures rather than emergency internet-facing incident response unless separate evidence changes the threat picture.
Technical view
hfsc_qlen_notify() was not idempotent. Repeated calls could decrement cl_nactive or remove the same red-black-tree node more than once. The stable fixes guard update_vf() with cl_nactive and use RB_EMPTY_NODE() and RB_CLEAR_NODE() around eltree_remove(). The supplied sources do not describe the resulting corruption mechanism in greater detail.
Likely exposure
Potentially exposed systems run affected Linux kernel versions and permit a low-privileged local actor to reach the HFSC queueing path. The bundle identifies affected version records across several kernel branches through 6.15, but distribution backports may change exposure. Confirm status using the applicable distribution advisory and package changelog.
Exploitation context
The bundle marks this CVE as absent from KEV and provides no cited evidence of active exploitation or a public exploit. Its CVSS 3.1 vector is local, low complexity, low privilege, and requires no user interaction, with high potential impact across confidentiality, integrity, and availability.
Researcher notes
The security-relevant change makes notification handling repeat-safe: update_vf() runs only while cl_nactive is nonzero, and tree removal checks and clears node state. The supplied record does not identify a CWE, explain the precise impact primitive, or establish exploitability beyond the CVSS vector. Version conclusions should account for stable and distribution backports.
Mitigation direction
Install the vendor-supported kernel update containing the applicable stable fix.
Consult the distribution advisory to map backported fixes to installed package versions.
Restrict unnecessary local access and privileges until affected systems are updated.
Reboot into the patched kernel after installation.
Validation and detection
Inventory running kernel versions on Linux systems.
Compare each package version against its distribution security advisory.
Verify the applicable stable fix is present in the vendor kernel changelog.
Identify systems configured to use the HFSC queueing scheduler.
After updating, confirm the patched kernel is actively running.
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-38177 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.
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.