<?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>Thu, 01 Oct 2026 21:26:38 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-31607 — usbip: validate number_of_packets in usbip_pack_ret_submit()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-31607</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 7 Extended Lifecycle Support, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 9.6 Extended Update Support, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 8&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;usbip: validate number_of_packets in usbip_pack_ret_submit()&lt;/p&gt;
&lt;p&gt;When a USB/IP client receives a RET_SUBMIT response,
usbip_pack_ret_submit() unconditionally overwrites
urb-&amp;gt;number_of_packets from the network PDU. This value is
subsequently used as the loop bound in usbip_recv_iso() and
usbip_pad_iso() to iterate over urb-&amp;gt;iso_frame_desc[], a flexible
array whose size was fixed at URB allocation time based on the
*original* number_of_packets from the CMD_SUBMIT.&lt;/p&gt;
&lt;p&gt;A malicious USB/IP server can set number_of_packets in the response
to a value larger than what was originally submitted, causing a heap
out-of-bounds write when usbip_recv_iso() writes to
urb-&amp;gt;iso_frame_desc[i] beyond the allocated region.&lt;/p&gt;
&lt;p&gt;KASAN confirmed this with kernel 7.0.0-rc5:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-out-of-bounds in usbip_recv_iso+0x46a/0x640
  Write of size 4 at addr ffff888106351d40 by task vhci_rx/69&lt;/p&gt;
&lt;p&gt;The buggy address is located 0 bytes to the right of
   allocated 320-byte region [ffff888106351c00, ffff888106351d40)&lt;/p&gt;
&lt;p&gt;The server side (stub_rx.c) and gadget side (vudc_rx.c) already
validate number_of_packets in the CMD_SUBMIT path since commits
c6688ef9f297 (&amp;#34;usbip: fix stub_rx: harden CMD_SUBMIT path to handle
malicious input&amp;#34;) and b78d830f0049 (&amp;#34;usbip: fix vudc_rx: harden
CMD_SUBMIT path to handle malicious input&amp;#34;). The server side validates
against USBIP_MAX_ISO_PACKETS because no URB exists yet at that point.
On the client side we have t…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 7 Extended Lifecycle Support, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 9.6 Extended Update Support, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 8&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;usbip: validate number_of_packets in usbip_pack_ret_submit()&lt;/p&gt;
&lt;p&gt;When a USB/IP client receives a RET_SUBMIT response,
usbip_pack_ret_submit() unconditionally overwrites
urb-&amp;gt;number_of_packets from the network PDU. This value is
subsequently used as the loop bound in usbip_recv_iso() and
usbip_pad_iso() to iterate over urb-&amp;gt;iso_frame_desc[], a flexible
array whose size was fixed at URB allocation time based on the
*original* number_of_packets from the CMD_SUBMIT.&lt;/p&gt;
&lt;p&gt;A malicious USB/IP server can set number_of_packets in the response
to a value larger than what was originally submitted, causing a heap
out-of-bounds write when usbip_recv_iso() writes to
urb-&amp;gt;iso_frame_desc[i] beyond the allocated region.&lt;/p&gt;
&lt;p&gt;KASAN confirmed this with kernel 7.0.0-rc5:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-out-of-bounds in usbip_recv_iso+0x46a/0x640
  Write of size 4 at addr ffff888106351d40 by task vhci_rx/69&lt;/p&gt;
&lt;p&gt;The buggy address is located 0 bytes to the right of
   allocated 320-byte region [ffff888106351c00, ffff888106351d40)&lt;/p&gt;
&lt;p&gt;The server side (stub_rx.c) and gadget side (vudc_rx.c) already
validate number_of_packets in the CMD_SUBMIT path since commits
c6688ef9f297 (&amp;#34;usbip: fix stub_rx: harden CMD_SUBMIT path to handle
malicious input&amp;#34;) and b78d830f0049 (&amp;#34;usbip: fix vudc_rx: harden
CMD_SUBMIT path to handle malicious input&amp;#34;). The server side validates
against USBIP_MAX_ISO_PACKETS because no URB exists yet at that point.
On the client side we have t…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-31607</guid>
    </item>
  </channel>
</rss>
