CVE-2025-37953: sch_htb: make htb_deactivate() idempotent

Published May 20, 2025
·
Updated

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

schhtb: make htbdeactivate() idempotent

Alan reported a NULL pointer dereference in htbnextrbnode() after we made htbqlennotify() idempotent.

It turns out in the following case it introduced some regression:

htbdequeuetree(): |-> fqcodeldequeue() |-> qdisctreereducebacklog() |-> htbqlennotify() |-> htbdeactivate() |-> htbnextrbnode() |-> htbdeactivate()

For htbnextrbnode(), after calling the 1st htbdeactivate(), the clprio[prio]->ptr could be already set to NULL, which means htbnextrbnode() is vulnerable here.

For htbdeactivate(), although we checked qlen before calling it, in case of qlen==0 after qdisctreereducebacklog(), we may call it again which triggers the warning inside.

To fix the issues here, we need to:

1) Make htbdeactivate() idempotent, that is, simply return if we already call it before. 2) Make htbnextrbnode() safe against ptr==NULL.

Many thanks to Alan for testing and for the reproducer.

Affected Software

11 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel=6.1.138
Linux Linux kernel=6.6.90
Linux Linux kernel=6.12.28
Linux Linux kernel=6.14.6
Linux Linux kernel=6.15-rc2
Linux Linux kernel=6.15-rc3
Linux Linux kernel=6.15-rc4
Linux Linux kernel=6.15-rc5
Debian Debian Linux=11.0
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-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.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1
  2. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch sch_htb: make htb_deactivate() idempotent

Event History

May 20, 2025
CVE Published
via MITRE·04:01 PM
Data Sourced
via MITRE·04:01 PM
Description
Data Sourced
via NVD·04:15 PM
RemedyDescriptionSeverityWeaknessAffected 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-37953?

CVE-2025-37953 is classified as a moderate severity vulnerability due to its potential exploitation via a NULL pointer dereference.

2

How does CVE-2025-37953 affect the Linux kernel?

CVE-2025-37953 affects the Linux kernel by introducing a regression in htb_next_rb_node() after the htb_qlen_notify() function was made idempotent.

3

How do I fix CVE-2025-37953?

To fix CVE-2025-37953, users should update their Linux kernel to a version where this vulnerability has been addressed.

4

What versions of the Linux kernel are affected by CVE-2025-37953?

CVE-2025-37953 affects various versions of the Linux kernel, especially those where htb_qlen_notify() was modified.

5

What are the consequences of not addressing CVE-2025-37953?

Failing to address CVE-2025-37953 may expose systems to potential crashes or integrity issues due to NULL pointer dereference.

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