<?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://db.gcve.eu</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>Wed, 30 Sep 2026 05:47:44 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-50704 — USB: gadget: Fix use-after-free during usb config switch</title>
      <link>https://db.gcve.eu/vuln/cve-2022-50704</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: gadget: Fix use-after-free during usb config switch&lt;/p&gt;
&lt;p&gt;In the process of switching USB config from rndis to other config,
if the hardware does not support the -&amp;gt;pullup callback, or the
hardware encounters a low probability fault, both of them may cause
the -&amp;gt;pullup callback to fail, which will then cause a system panic
(use after free).&lt;/p&gt;
&lt;p&gt;The gadget drivers sometimes need to be unloaded regardless of the
hardware&amp;#39;s behavior.&lt;/p&gt;
&lt;p&gt;Analysis as follows:
=======================================================================
(1) write /config/usb_gadget/g1/UDC &amp;#34;none&amp;#34;&lt;/p&gt;
&lt;p&gt;gether_disconnect+0x2c/0x1f8
rndis_disable+0x4c/0x74
composite_disconnect+0x74/0xb0
configfs_composite_disconnect+0x60/0x7c
usb_gadget_disconnect+0x70/0x124
usb_gadget_unregister_driver+0xc8/0x1d8
gadget_dev_desc_UDC_store+0xec/0x1e4&lt;/p&gt;
&lt;p&gt;(2) rm /config/usb_gadget/g1/configs/b.1/f1&lt;/p&gt;
&lt;p&gt;rndis_deregister+0x28/0x54
rndis_free+0x44/0x7c
usb_put_function+0x14/0x1c
config_usb_cfg_unlink+0xc4/0xe0
configfs_unlink+0x124/0x1c8
vfs_unlink+0x114/0x1dc&lt;/p&gt;
&lt;p&gt;(3) rmdir /config/usb_gadget/g1/functions/rndis.gs4&lt;/p&gt;
&lt;p&gt;panic+0x1fc/0x3d0
do_page_fault+0xa8/0x46c
do_mem_abort+0x3c/0xac
el1_sync_handler+0x40/0x78
0xffffff801138f880
rndis_close+0x28/0x34
eth_stop+0x74/0x110
dev_close_many+0x48/0x194
rollback_registered_many+0x118/0x814
unregister_netdev+0x20/0x30
gether_cleanup+0x1c/0x38
rndis_attr_release+0xc/0x14
kref_put+0x74/0xb8
configfs_rmdir+0x314/0x374&lt;/p&gt;
&lt;p&gt;If gadget-&amp;gt;ops-&amp;gt;pullup()…&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: gadget: Fix use-after-free during usb config switch&lt;/p&gt;
&lt;p&gt;In the process of switching USB config from rndis to other config,
if the hardware does not support the -&amp;gt;pullup callback, or the
hardware encounters a low probability fault, both of them may cause
the -&amp;gt;pullup callback to fail, which will then cause a system panic
(use after free).&lt;/p&gt;
&lt;p&gt;The gadget drivers sometimes need to be unloaded regardless of the
hardware&amp;#39;s behavior.&lt;/p&gt;
&lt;p&gt;Analysis as follows:
=======================================================================
(1) write /config/usb_gadget/g1/UDC &amp;#34;none&amp;#34;&lt;/p&gt;
&lt;p&gt;gether_disconnect+0x2c/0x1f8
rndis_disable+0x4c/0x74
composite_disconnect+0x74/0xb0
configfs_composite_disconnect+0x60/0x7c
usb_gadget_disconnect+0x70/0x124
usb_gadget_unregister_driver+0xc8/0x1d8
gadget_dev_desc_UDC_store+0xec/0x1e4&lt;/p&gt;
&lt;p&gt;(2) rm /config/usb_gadget/g1/configs/b.1/f1&lt;/p&gt;
&lt;p&gt;rndis_deregister+0x28/0x54
rndis_free+0x44/0x7c
usb_put_function+0x14/0x1c
config_usb_cfg_unlink+0xc4/0xe0
configfs_unlink+0x124/0x1c8
vfs_unlink+0x114/0x1dc&lt;/p&gt;
&lt;p&gt;(3) rmdir /config/usb_gadget/g1/functions/rndis.gs4&lt;/p&gt;
&lt;p&gt;panic+0x1fc/0x3d0
do_page_fault+0xa8/0x46c
do_mem_abort+0x3c/0xac
el1_sync_handler+0x40/0x78
0xffffff801138f880
rndis_close+0x28/0x34
eth_stop+0x74/0x110
dev_close_many+0x48/0x194
rollback_registered_many+0x118/0x814
unregister_netdev+0x20/0x30
gether_cleanup+0x1c/0x38
rndis_attr_release+0xc/0x14
kref_put+0x74/0xb8
configfs_rmdir+0x314/0x374&lt;/p&gt;
&lt;p&gt;If gadget-&amp;gt;ops-&amp;gt;pullup()…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2022-50704</guid>
    </item>
  </channel>
</rss>
