Name | CVE-2025-37953 |
Description | In the Linux kernel, the following vulnerability has been resolved: sch_htb: make htb_deactivate() idempotent Alan reported a NULL pointer dereference in htb_next_rb_node() after we made htb_qlen_notify() idempotent. It turns out in the following case it introduced some regression: htb_dequeue_tree(): |-> fq_codel_dequeue() |-> qdisc_tree_reduce_backlog() |-> htb_qlen_notify() |-> htb_deactivate() |-> htb_next_rb_node() |-> htb_deactivate() For htb_next_rb_node(), after calling the 1st htb_deactivate(), the clprio[prio]->ptr could be already set to NULL, which means htb_next_rb_node() is vulnerable here. For htb_deactivate(), although we checked qlen before calling it, in case of qlen==0 after qdisc_tree_reduce_backlog(), we may call it again which triggers the warning inside. To fix the issues here, we need to: 1) Make htb_deactivate() idempotent, that is, simply return if we already call it before. 2) Make htb_next_rb_node() safe against ptr==NULL. Many thanks to Alan for testing and for the reproducer. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-4271-1, DSA-5925-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
linux (PTS) | bullseye | 5.10.223-1 | fixed |
bullseye (security) | 5.10.237-1 | fixed | |
bookworm | 6.1.148-1 | fixed | |
bookworm (security) | 6.1.153-1 | fixed | |
trixie | 6.12.43-1 | fixed | |
trixie (security) | 6.12.48-1 | fixed | |
forky | 6.16.9-1 | fixed | |
sid | 6.16.11-1 | fixed | |
linux-6.1 (PTS) | bullseye (security) | 6.1.148-1~deb11u1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
linux | source | bullseye | (not affected) | |||
linux | source | bookworm | 6.1.140-1 | DSA-5925-1 | ||
linux | source | (unstable) | 6.12.29-1 | |||
linux-6.1 | source | bullseye | 6.1.140-1~deb11u1 | DLA-4271-1 |
[bullseye] - linux <not-affected> (Vulnerable code not present)
https://git.kernel.org/linus/3769478610135e82b262640252d90f6efb05be71 (6.15-rc6)