What’s Vulnerable › Vulnerabilities

CVE-2026-89733: usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind()

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind() In uvc_function_bind() error path, we use usb_ep_free_request which uses uvc->control_req but does not set it to NULL afterwards. Thus, uvc->control_req is a dangling pointer causing a UAF. Also we do not set the uvc->control_buf pointer to NULL after freeing it, which is another dangling pointer. Fix it by setting uvc->control_req to NULL after we run usb_ep_free_request() and uvc->control_buf to NULL after kfree. Do the same for uvc_function_unbind().

Affected products

How to fix

Upgrade to a fixed version: Linux kernel 3.3, 3.5, 3.8, 7.3. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2026-89733 or the next vulnerability affects your stack