CVE-2026-89733

usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind()

State
Published
Severity
7.8 High
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

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().

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before ddb1b0d5d858584ed0d3a5aaa042ee693998c7e2Affected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before 85dd5e8bd6776d02854f2847d83429f1f712e99cAffected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before 502a7f5b79b7ba751988789e982924f8f496129fAffected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before bec7708eb3b5295d12e931db24381b7c94c72953Affected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before 8e88ed8a374de67270d38689f2a81018909cafbbAffected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before 9897b7da8c0ad8356c1b8649379fcb5a689462cbAffected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before 38f822ddce9355893d734279a26ddec45182197eAffected
  • 0f9df939385527049c8062a099fbfa1479fe7ce0 to before bdab5605259ba5d6ff927c1a85cc83eb3ecfdaccAffected
  • 1efa8a5aac93d9e67075995d7d4902b57ce184f7Affected
  • e7a4b0efe62e56a0acc81d16091c6efc2a282be8Affected
  • 065f5561a20659cf17aae5f72b32b5c2695c8e00Affected
  • 3.2.36 to before 3.3Affected
  • 3.4.25 to before 3.5Affected
  • 3.7.2 to before 3.8Affected
LinuxLinux
  • 3.8Affected
  • before 3.8Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.