CVE-2025-37797

net_sched: hfsc: Fix a UAF vulnerability in class handling

HIGH
7.8
CVSS Score
Published: May 2, 2025 at 02:16 PM UTC
Updated: August 5, 2026 at 12:44 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: net_sched: hfsc: Fix a UAF vulnerability in class handling This patch fixes a Use-After-Free vulnerability in the HFSC qdisc class handling. The issue occurs due to a time-of-check/time-of-use condition in hfsc_change_class() when working with certain child qdiscs like netem or codel. The vulnerability works as follows: 1. hfsc_change_class() checks if a class has packets (q.qlen != 0) 2. It then calls qdisc_peek_len(), which for certain qdiscs (e.g., codel, netem) might drop packets and empty the queue 3. The code continues assuming the queue is still non-empty, adding the class to vttree 4. This breaks HFSC scheduler assumptions that only non-empty classes are in vttree 5. Later, when the class is destroyed, this can lead to a Use-After-Free The fix adds a second queue length check after qdisc_peek_len() to verify the queue wasn't emptied.

Affected

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

4.14 ≤ v < 5.10.2374.14 ≤ v < 5.15.1814.14 ≤ v < 5.4.2934.14 ≤ v < 6.1.1364.14 ≤ v < 6.12.264.14 ≤ v < 6.14.54.14 ≤ v < 6.154.14 ≤ v < 6.6.894.14.1 ≤ v < 5.4.2935.11 ≤ v < 5.15.1815.16 ≤ v < 6.1.1365.5 ≤ v < 5.10.2376.13 ≤ v < 6.14.56.2 ≤ v < 6.6.896.7 ≤ v < 6.12.2621f4d5cc25ec0e6e8eb8420dd2c399e6d2fc7d144.144.14 rc24.14 rc34.14 rc44.14 rc54.14 rc64.14 rc74.14 rc86.15 rc16.15 rc26.15 rc3
Vendor states this is fixed in 20d584a33e480ae80d105f43e0e7b56784da41b9 (fixed)
Vendor states this is fixed in 28b09a067831f7317c3841812276022d6c940677 (fixed)
Vendor states this is fixed in 39b9095dd3b55d9b2743df038c32138efa34a9de (fixed)
Vendor states this is fixed in 3aa852e3605000d5c47035c3fc3a986d14ccfa9f (fixed)
Vendor states this is fixed in 3df275ef0a6ae181e8428a6589ef5d5231e58b5c (fixed)
Vendor states this is fixed in 86cd4641c713455a4f1c8e54c370c598c2b1cee0 (fixed)
Vendor states this is fixed in bb583c88d23b72d8d16453d24856c99bd93dadf5 (fixed)
Vendor states this is fixed in fcc8ede663569c704fb00a702973bd6c00373283 (fixed)
Vendor states this is fixed in 4.14 (unaffected)
Vendor states this is fixed in 5.10.237 (unaffected)
Vendor states this is fixed in 5.15.181 (unaffected)
Vendor states this is fixed in 5.4.293 (unaffected)
Vendor states this is fixed in 6.1.136 (unaffected)
Vendor states this is fixed in 6.12.26 (unaffected)
Vendor states this is fixed in 6.14.5 (unaffected)
Vendor states this is fixed in 6.15 (unaffected)
Vendor states this is fixed in 6.6.89 (unaffected)

References (10)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/20d584a33e480ae80d105f43e0e7b56784da41b9
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/28b09a067831f7317c3841812276022d6c940677
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/39b9095dd3b55d9b2743df038c32138efa34a9de
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3aa852e3605000d5c47035c3fc3a986d14ccfa9f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3df275ef0a6ae181e8428a6589ef5d5231e58b5c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/86cd4641c713455a4f1c8e54c370c598c2b1cee0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bb583c88d23b72d8d16453d24856c99bd93dadf5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fcc8ede663569c704fb00a702973bd6c00373283

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