Description
In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer

uvc_send_response() builds the UVC control response from a user-supplied
struct uvc_request_data:

req->length = min_t(unsigned int, uvc->event_length, data->length);
...
memcpy(req->buf, data->data, req->length);

req->length is clamped to uvc->event_length, which is taken from the
host control request wLength (up to UVC_MAX_REQUEST_SIZE, 64), and to
data->length, which comes from the UVCIOC_SEND_RESPONSE ioctl and is
only checked for being negative. The source buffer data->data is only
60 bytes, so a response with uvc->event_length and data->length both
greater than 60 makes memcpy() read past the end of data->data.

Clamp req->length to sizeof(data->data) as well.
Published: 2026-08-10
Score: 6.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Based on the description, it is inferred that an attacker with local privileged access could set an oversized request length in the UVCIOC_SEND_RESPONSE ioctl, causing the kernel to perform a memcpy that reads past the end of the 60‑byte source buffer. This buffer over‑read can expose arbitrary kernel memory contents or trigger a crash, thereby compromising confidentiality or availability of the system.

Affected Systems

The vulnerability is present in the Linux kernel's UVC gadget implementation on all distributions that ship an unpatched kernel with the affected driver. The exact versions are not listed, so any kernel release prior to the patch that includes the UVC gadget code is potentially affected.

Risk and Exploitability

The CVSS score of 6.1 indicates moderate severity, and the EPSS score is below 1% indicates a low exploitation probability. The flaw is not listed in CISA KEV. Based on the description, it is inferred that exploitation would require local privileged access to issue the UVCIOC_SEND_RESPONSE ioctl, normally granted to root or users with CAP_SYS_ADMIN. With that permission, an attacker can craft a request that triggers the over‑read and read kernel memory or cause a denial of service. No public exploitation has been reported to date, but the potential impact remains significant.

Generated by OpenCVE AI on August 12, 2026 at 18:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that includes the patch which clamps the request length to the size of the source buffer.
  • Restrict access to the UVC gadget driver by ensuring only privileged users can use the UVCIOC_SEND_RESPONSE ioctl, for example by setting appropriate file permissions or capabilities.
  • If the UVC gadget functionality is not required, disable the UVC gadget driver or the USB gadget subsystem to remove the vulnerable code from the kernel.

Generated by OpenCVE AI on August 12, 2026 at 18:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H'}

threat_severity

Moderate


Mon, 10 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer uvc_send_response() builds the UVC control response from a user-supplied struct uvc_request_data: req->length = min_t(unsigned int, uvc->event_length, data->length); ... memcpy(req->buf, data->data, req->length); req->length is clamped to uvc->event_length, which is taken from the host control request wLength (up to UVC_MAX_REQUEST_SIZE, 64), and to data->length, which comes from the UVCIOC_SEND_RESPONSE ioctl and is only checked for being negative. The source buffer data->data is only 60 bytes, so a response with uvc->event_length and data->length both greater than 60 makes memcpy() read past the end of data->data. Clamp req->length to sizeof(data->data) as well.
Title usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:34:23.776Z

Reserved: 2026-07-30T09:28:09.385Z

Link: CVE-2026-68366

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:29.230

Modified: 2026-08-19T17:20:46.203

Link: CVE-2026-68366

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T12:03:43Z

Links: CVE-2026-68366 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-12T19:00:08Z

Weaknesses