<?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://vulnerability.circl.lu</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>Tue, 06 Oct 2026 01:05:33 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-43327 — USB: dummy-hcd: Fix locking/synchronization error</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-43327</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;USB: dummy-hcd: Fix locking/synchronization error&lt;/p&gt;
&lt;p&gt;Syzbot testing was able to provoke an addressing exception and crash
in the usb_gadget_udc_reset() routine in
drivers/usb/gadgets/udc/core.c, resulting from the fact that the
routine was called with a second (&amp;#34;driver&amp;#34;) argument of NULL.  The bad
caller was set_link_state() in dummy_hcd.c, and the problem arose
because of a race between a USB reset and driver unbind.&lt;/p&gt;
&lt;p&gt;These sorts of races were not supposed to be possible; commit
7dbd8f4cabd9 (&amp;#34;USB: dummy-hcd: Fix erroneous synchronization change&amp;#34;),
along with a few followup commits, was written specifically to prevent
them.  As it turns out, there are (at least) two errors remaining in
the code.  Another patch will address the second error; this one is
concerned with the first.&lt;/p&gt;
&lt;p&gt;The error responsible for the syzbot crash occurred because the
stop_activity() routine will sometimes drop and then re-acquire the
dum-&amp;gt;lock spinlock.  A call to stop_activity() occurs in
set_link_state() when handling an emulated USB reset, after the test
of dum-&amp;gt;ints_enabled and before the increment of dum-&amp;gt;callback_usage.
This allowed another thread (doing a driver unbind) to sneak in and
grab the spinlock, and then clear dum-&amp;gt;ints_enabled and dum-&amp;gt;driver.
Normally this other thread would have to wait for dum-&amp;gt;callback_usage
to go down to 0 before it would clear dum-&amp;gt;driver, but in this case it
didn&amp;#39;t have to wait since dum-&amp;gt;call…&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;USB: dummy-hcd: Fix locking/synchronization error&lt;/p&gt;
&lt;p&gt;Syzbot testing was able to provoke an addressing exception and crash
in the usb_gadget_udc_reset() routine in
drivers/usb/gadgets/udc/core.c, resulting from the fact that the
routine was called with a second (&amp;#34;driver&amp;#34;) argument of NULL.  The bad
caller was set_link_state() in dummy_hcd.c, and the problem arose
because of a race between a USB reset and driver unbind.&lt;/p&gt;
&lt;p&gt;These sorts of races were not supposed to be possible; commit
7dbd8f4cabd9 (&amp;#34;USB: dummy-hcd: Fix erroneous synchronization change&amp;#34;),
along with a few followup commits, was written specifically to prevent
them.  As it turns out, there are (at least) two errors remaining in
the code.  Another patch will address the second error; this one is
concerned with the first.&lt;/p&gt;
&lt;p&gt;The error responsible for the syzbot crash occurred because the
stop_activity() routine will sometimes drop and then re-acquire the
dum-&amp;gt;lock spinlock.  A call to stop_activity() occurs in
set_link_state() when handling an emulated USB reset, after the test
of dum-&amp;gt;ints_enabled and before the increment of dum-&amp;gt;callback_usage.
This allowed another thread (doing a driver unbind) to sneak in and
grab the spinlock, and then clear dum-&amp;gt;ints_enabled and dum-&amp;gt;driver.
Normally this other thread would have to wait for dum-&amp;gt;callback_usage
to go down to 0 before it would clear dum-&amp;gt;driver, but in this case it
didn&amp;#39;t have to wait since dum-&amp;gt;call…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-43327</guid>
    </item>
  </channel>
</rss>
