7.8

CVE-2025-37890

net_sched: hfsc: Fix a UAF vulnerability in class with netem as child qdisc

In the Linux kernel, the following vulnerability has been resolved:

net_sched: hfsc: Fix a UAF vulnerability in class with netem as child qdisc

As described in Gerrard's report [1], we have a UAF case when an hfsc class
has a netem child qdisc. The crux of the issue is that hfsc is assuming
that checking for cl->qdisc->q.qlen == 0 guarantees that it hasn't inserted
the class in the vttree or eltree (which is not true for the netem
duplicate case).

This patch checks the n_active class variable to make sure that the code
won't insert the class in the vttree or eltree twice, catering for the
reentrant case.

[1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 5.0.1 < 5.4.294
LinuxLinux Kernel Version >= 5.5 < 5.10.238
LinuxLinux Kernel Version >= 5.11 < 5.15.182
LinuxLinux Kernel Version >= 5.16 < 6.1.138
LinuxLinux Kernel Version >= 6.2 < 6.6.90
LinuxLinux Kernel Version >= 6.7 < 6.12.28
LinuxLinux Kernel Version >= 6.13 < 6.14.6
LinuxLinux Kernel Version5.0 Update-
LinuxLinux Kernel Version5.0 Updaterc3
LinuxLinux Kernel Version5.0 Updaterc4
LinuxLinux Kernel Version5.0 Updaterc5
LinuxLinux Kernel Version5.0 Updaterc6
LinuxLinux Kernel Version5.0 Updaterc7
LinuxLinux Kernel Version5.0 Updaterc8
LinuxLinux Kernel Version6.15 Updaterc1
LinuxLinux Kernel Version6.15 Updaterc2
LinuxLinux Kernel Version6.15 Updaterc3
LinuxLinux Kernel Version6.15 Updaterc4
DebianDebian Linux Version11.0
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.06
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-416 Use After Free

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

https://git.kernel.org/stable/c/e3e949a39a91d1f829a4890e7dfe9417ac72e4d0
Patch
https://git.kernel.org/stable/c/8df7d37d626430035b413b97cee18396b3450bef
Patch
https://git.kernel.org/stable/c/6082a87af4c52f58150d40dec1716011d871ac21
Patch
https://git.kernel.org/stable/c/2e7093c7a8aba5d4f8809f271488e5babe75e202
Patch
https://git.kernel.org/stable/c/ac39fd4a757584d78ed062d4f6fd913f83bd98b5
Patch
https://git.kernel.org/stable/c/141d34391abbb315d68556b7c67ad97885407547
Patch
https://git.kernel.org/stable/c/273bbcfa53541cde38b2003ad88a59b770306421
Patch
https://git.kernel.org/stable/c/e0cf8ee23e1915431f262a7b2dee0c7a7d699af0
Patch
https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
Mailing List
https://lists.debian.org/debian-lts-announce/2025/08/msg00010.html
Mailing List