<?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 13:54:48 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-68366 — usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-68366</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: uvc: clamp SEND_RESPONSE length to the response buffer&lt;/p&gt;
&lt;p&gt;uvc_send_response() builds the UVC control response from a user-supplied
struct uvc_request_data:&lt;/p&gt;
&lt;p&gt;req-&amp;gt;length = min_t(unsigned int, uvc-&amp;gt;event_length, data-&amp;gt;length);
	...
	memcpy(req-&amp;gt;buf, data-&amp;gt;data, req-&amp;gt;length);&lt;/p&gt;
&lt;p&gt;req-&amp;gt;length is clamped to uvc-&amp;gt;event_length, which is taken from the
host control request wLength (up to UVC_MAX_REQUEST_SIZE, 64), and to
data-&amp;gt;length, which comes from the UVCIOC_SEND_RESPONSE ioctl and is
only checked for being negative.  The source buffer data-&amp;gt;data is only
60 bytes, so a response with uvc-&amp;gt;event_length and data-&amp;gt;length both
greater than 60 makes memcpy() read past the end of data-&amp;gt;data.&lt;/p&gt;
&lt;p&gt;Clamp req-&amp;gt;length to sizeof(data-&amp;gt;data) as well.&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: uvc: clamp SEND_RESPONSE length to the response buffer&lt;/p&gt;
&lt;p&gt;uvc_send_response() builds the UVC control response from a user-supplied
struct uvc_request_data:&lt;/p&gt;
&lt;p&gt;req-&amp;gt;length = min_t(unsigned int, uvc-&amp;gt;event_length, data-&amp;gt;length);
	...
	memcpy(req-&amp;gt;buf, data-&amp;gt;data, req-&amp;gt;length);&lt;/p&gt;
&lt;p&gt;req-&amp;gt;length is clamped to uvc-&amp;gt;event_length, which is taken from the
host control request wLength (up to UVC_MAX_REQUEST_SIZE, 64), and to
data-&amp;gt;length, which comes from the UVCIOC_SEND_RESPONSE ioctl and is
only checked for being negative.  The source buffer data-&amp;gt;data is only
60 bytes, so a response with uvc-&amp;gt;event_length and data-&amp;gt;length both
greater than 60 makes memcpy() read past the end of data-&amp;gt;data.&lt;/p&gt;
&lt;p&gt;Clamp req-&amp;gt;length to sizeof(data-&amp;gt;data) as well.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-68366</guid>
    </item>
  </channel>
</rss>
