CVE-2025-37914: net_sched: ets: Fix double list add in class with netem as child qdisc
In the Linux kernel, the following vulnerability has been resolved:
net_sched: ets: Fix double list add in class with netem as child qdisc
As described in Gerrard's report [1], there are use cases where a netem
child qdisc will make the parent qdisc's enqueue callback reentrant.
In the case of ets, there won't be a UAF, but the code will add the same
classifier to the list twice, which will cause memory corruption.
In addition to checking for qlen being zero, this patch checks whether
the class was already added to the active_list (cl_is_active) before
doing the addition to cater for the reentrant case.
[1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/
Security readout for executives and security teams
Plain-English summary
A flaw in Linux traffic scheduling can corrupt kernel memory when an ETS scheduler has a netem child and reentrant packet processing occurs. A local, low-privileged attacker may be able to compromise confidentiality, integrity, and availability, but exposure depends on this specific configuration.
Executive priority
Treat as a high-priority, configuration-dependent kernel issue. Accelerate remediation on shared, multi-user, or sensitive systems using the affected traffic-control arrangement; routine prioritization is reasonable where that configuration is demonstrably absent.
Technical view
Reentrant execution of the ETS enqueue callback can add the same classifier to active_list twice when netem is a child qdisc, causing memory corruption. The fix checks cl_is_active before list insertion. The kernel report explicitly states this is not a use-after-free in ETS.
Likely exposure
Exposure is limited to affected Linux kernels using an ETS qdisc with netem as a child. The supplied version data identifies affected releases but does not provide unambiguous distribution-specific ranges; confirm installed vendor kernel packages and backports.
Exploitation context
The CVSS 3.1 assessment is 7.8, requiring local access, low privileges, low complexity, and no user interaction. CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or a public weaponized exploit.
Researcher notes
The vulnerable condition is a duplicate active_list insertion caused by an enqueue callback becoming reentrant through netem. The correction adds an active-state check alongside the zero-queue-length check. No CWE was supplied, and evidence does not establish practical exploitation reliability or affected distribution package boundaries.
Mitigation direction
Install a vendor kernel update containing the applicable Linux stable fix.
Confirm distribution backports rather than relying only on the displayed kernel version.
If patching is delayed, avoid the ETS-with-netem configuration where operationally safe.
Review Linux and distribution guidance for branch-specific fixed packages.
Validation and detection
Inventory Linux kernel versions across hosts and container nodes.
Identify systems configuring ETS qdiscs with netem children.
Verify the installed kernel includes the relevant stable commit or vendor backport.
After updating, confirm hosts booted into the corrected kernel.
Monitor exposed systems for kernel crashes or memory-corruption symptoms.
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-37914 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
10Source 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.