<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 09 Oct 2026 03:42:21 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-37953 — sch_htb: make htb_deactivate() idempotent</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2025-37953</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;sch_htb: make htb_deactivate() idempotent&lt;/p&gt;
&lt;p&gt;Alan reported a NULL pointer dereference in htb_next_rb_node()
after we made htb_qlen_notify() idempotent.&lt;/p&gt;
&lt;p&gt;It turns out in the following case it introduced some regression:&lt;/p&gt;
&lt;p&gt;htb_dequeue_tree():
  |-&amp;gt; fq_codel_dequeue()
    |-&amp;gt; qdisc_tree_reduce_backlog()
      |-&amp;gt; htb_qlen_notify()
        |-&amp;gt; htb_deactivate()
  |-&amp;gt; htb_next_rb_node()
  |-&amp;gt; htb_deactivate()&lt;/p&gt;
&lt;p&gt;For htb_next_rb_node(), after calling the 1st htb_deactivate(), the
clprio[prio]-&amp;gt;ptr could be already set to  NULL, which means
htb_next_rb_node() is vulnerable here.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;To fix the issues here, we need to:&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Many thanks to Alan for testing and for the reproducer.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;sch_htb: make htb_deactivate() idempotent&lt;/p&gt;
&lt;p&gt;Alan reported a NULL pointer dereference in htb_next_rb_node()
after we made htb_qlen_notify() idempotent.&lt;/p&gt;
&lt;p&gt;It turns out in the following case it introduced some regression:&lt;/p&gt;
&lt;p&gt;htb_dequeue_tree():
  |-&amp;gt; fq_codel_dequeue()
    |-&amp;gt; qdisc_tree_reduce_backlog()
      |-&amp;gt; htb_qlen_notify()
        |-&amp;gt; htb_deactivate()
  |-&amp;gt; htb_next_rb_node()
  |-&amp;gt; htb_deactivate()&lt;/p&gt;
&lt;p&gt;For htb_next_rb_node(), after calling the 1st htb_deactivate(), the
clprio[prio]-&amp;gt;ptr could be already set to  NULL, which means
htb_next_rb_node() is vulnerable here.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;To fix the issues here, we need to:&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Many thanks to Alan for testing and for the reproducer.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2025-37953</guid>
    </item>
  </channel>
</rss>
