CVE-2025-38468: net/sched: Return NULL when htb_lookup_leaf encounters an empty rbtree

Published Jul 28, 2025
·
Updated

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

net/sched: Return NULL when htblookupleaf encounters an empty rbtree

htblookupleaf has a BUGON that can trigger with the following:

tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 htb rate 64bit tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2:1 handle 3: blackhole ping -I lo -c1 -W0.001 127.0.0.1

The root cause is the following:

1. htbdequeue calls htbdequeuetree which calls the dequeue handler on the selected leaf qdisc 2. netemdequeue calls enqueue on the child qdisc 3. blackholeenqueue drops the packet and returns a value that is not just NETXMITSUCCESS 4. Because of this, netemdequeue calls qdisctreereducebacklog, and since qlen is now 0, it calls htbqlennotify -> htbdeactivate -> htbdeactiviateprios -> htbremoveclassfromrow -> htbsaferberase 5. As this is the only class in the selected hprio rbtree, rbchangechild in rberaseaugmented sets the rbroot pointer to NULL 6. Because blackholedequeue returns NULL, netemdequeue returns NULL, which causes htbdequeuetree to call htblookupleaf with the same hprio rbtree, and fail the BUGON

The function graph for this scenario is shown here: 0) | htbenqueue() { 0) + 13.635 us | netemenqueue(); 0) 4.719 us | htbactivateprios(); 0) # 2249.199 us | } 0) | htbdequeue() { 0) 2.355 us | htblookupleaf(); 0) | netemdequeue() { 0) + 11.061 us | blackholeenqueue(); 0) | qdisctreereducebacklog() { 0) | qdisclookuprcu() { 0) 1.873 us | qdiscmatchfromroot(); 0) 6.292 us | } 0) 1.894 us | htbsearch(); 0) | htbqlennotify() { 0) 2.655 us | htbdeactivateprios(); 0) 6.933 us | } 0) + 25.227 us | } 0) 1.983 us | blackholedequeue(); 0) + 86.553 us | } 0) # 2932.761 us | qdiscwarnnonwc(); 0) | htblookupleaf() { 0) | BUGON(); ------------------------------------------

The full original bug report can be seen here [1].

We can fix this just by returning NULL instead of the BUGON, as htbdequeuetree returns NULL when htblookupleaf returns NULL.

[1] https://lore.kernel.org/netdev/pF5XOOIim0IuEfhI-SOxTgRvNoDwuux7UHKnEY5-zVd4wmGvNk2ceHjKb8ORnzw0cGwfmVu42g9dL7XyJLf1NEzaztboTWcm0Ogxuojoeo=@willsroot.io/

Affected Software

19 affected componentsFixes available
Linux Kernel
Microsoft azl3 kernel 6.6.96.2-1
Microsoft azl3 kernel 6.6.96.2-2
Microsoft cbl2 kernel 5.15.186.1-1
Linux Linux kernel>=2.6.29<5.4.297
Linux Linux kernel>=5.5<5.10.241
Linux Linux kernel>=5.11<5.15.190
Linux Linux kernel>=5.16<6.1.147
Linux Linux kernel>=6.2<6.6.100
Linux Linux kernel>=6.7<6.12.40
Linux Linux kernel>=6.13<6.15.8
Linux Linux kernel=6.16-rc1
Linux Linux kernel=6.16-rc2
Linux Linux kernel=6.16-rc3
Linux Linux kernel=6.16-rc4
Linux Linux kernel=6.16-rc5
Linux Linux kernel=6.16-rc6
Debian Debian Linux=11.0
debian/linux
6.1.176-16.1.190-16.12.107-16.12.113-17.2.12-17.2.13-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1

Event History

Jul 28, 2025
CVE Published
via MITRE·11:12 AM
Data Sourced
via MITRE·11:12 AM
Description
Data Sourced
via Red Hat·12:02 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·12:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Sep 4, 2025
Data Sourced
via Microsoft·01:07 AM
DescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

What is the severity of CVE-2025-38468?

CVE-2025-38468 has been rated with high severity due to the potential for system instability caused by kernel bugs.

2

How do I fix CVE-2025-38468?

To fix CVE-2025-38468, you should update to the latest Linux kernel version where the vulnerability has been patched.

3

What are the impacts of CVE-2025-38468?

CVE-2025-38468 can lead to kernel crashes or unexpected behavior when using the HTB queuing discipline.

4

Which versions of the Linux kernel are affected by CVE-2025-38468?

CVE-2025-38468 affects specific versions of the Linux kernel prior to the patch release.

5

Is there a way to mitigate CVE-2025-38468 before applying a patch?

You can mitigate the impacts of CVE-2025-38468 by avoiding the use of HTB under certain conditions until a patch is applied.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203