net_sched: hfsc: Fix a UAF vulnerability in class handling
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux | unaffected |
|
|||||||||||||||||||||||||||||||||
| Linux | Linux | affected |
|
Configuration 1 [-]
|
Configuration 2 [-]
|
No data.
No data available yet.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4178-1 | linux security update |
Debian DLA |
DLA-4193-1 | linux-6.1 security update |
EUVD |
EUVD-2025-13245 | 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. |
Ubuntu USN |
USN-7594-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7594-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7594-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7654-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7654-2 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-7654-3 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7654-4 | Linux kernel (KVM) vulnerabilities |
Ubuntu USN |
USN-7654-5 | Linux kernel (Xilinx ZynqMP) vulnerabilities |
Ubuntu USN |
USN-7655-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-7682-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7682-2 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7682-3 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-7682-4 | Linux kernel (Low Latency) vulnerabilities |
Ubuntu USN |
USN-7682-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7682-6 | Linux kernel (IBM) vulnerabilities |
Ubuntu USN |
USN-7685-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7685-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7685-3 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7685-4 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7685-5 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7686-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-7701-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7701-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7701-3 | Linux kernel (IoT) vulnerabilities |
Ubuntu USN |
USN-7711-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7712-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7712-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7719-1 | Linux kernel (Raspberry Pi Real-time) vulnerabilities |
Ubuntu USN |
USN-7737-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7819-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7832-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7819-2 | Linux kernel (Azure FIPS) vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.225% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Debian
Debian debian Linux Linux Linux linux Kernel |
|
| CPEs | cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:-:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc4:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc5:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc6:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc7:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:4.14:rc8:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.15:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:* |
|
| Vendors & Products |
Debian
Debian debian Linux Linux Linux linux Kernel |
|
| Metrics |
cvssV3_1
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-416 | |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | net_sched: hfsc: Fix a UAF vulnerability in class handling | |
| References |
|
|