CVE-2026-68366: usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081042-CVE-2026-68366-2ff7@gregkh> |
From: Greg Kroah-Hartman <[email protected]> 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. The Linux kernel CVE team has assigned CVE-2026-68366 to this issue. Affected and fixed versions =========================== Issue introduced in 3.10 with commit a5eaaa1f33e771fa1651a4a7652b8a5f9fa7f6c1 and fixed in 6.6.148 with commit 4e116372b7a4f87df0dc0ed4b0ab5b0bb0cc5796 Issue introduced in 3.10 with commit a5eaaa1f33e771fa1651a4a7652b8a5f9fa7f6c1 and fixed in 6.12.101 with commit 662f6c6c6ff8a6c508e1646c09cae74e28f3cca6 Issue introduced in 3.10 with commit a5eaaa1f33e771fa1651a4a7652b8a5f9fa7f6c1 and fixed in 6.18.42 with commit 1f03658f3e9b2f8fd1d1003ba389a0390b49a350 Issue introduced in 3.10 with commit a5eaaa1f33e771fa1651a4a7652b8a5f9fa7f6c1 and fixed in 7.1.6 with commit c8510fbbea09ef0170b56b14dc2b5890dc75be07 Issue introduced in 3.10 with commit a5eaaa1f33e771fa1651a4a7652b8a5f9fa7f6c1 and fixed in 7.2-rc5 with commit b70dc75e85ba968b7b76eebfe5d63000080b875b Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-68366 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/usb/gadget/function/uvc_v4l2.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/4e116372b7a4f87df0dc0ed4b0ab5b0bb0cc5796 https://git.kernel.org/stable/c/662f6c6c6ff8a6c508e1646c09cae74e28f3cca6 https://git.kernel.org/stable/c/1f03658f3e9b2f8fd1d1003ba389a0390b49a350 https://git.kernel.org/stable/c/c8510fbbea09ef0170b56b14dc2b5890dc75be07 https://git.kernel.org/stable/c/b70dc75e85ba968b7b76eebfe5d63000080b875b