CVE-2026-89739
Last modified
CVE-2026-89739 is a vulnerability of currently unknown severity. In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition In dwc3_gadget_init_endpoint, &dep->nostream_work is bound with dwc3_nostream_work, and dwc3_gadget_endpoint_stream_event can queue this delayed work on system_percpu_wq when a DEPEVT_STREAM_NOSTREAM event is received. If we remove the gadget, dwc3_gadget_free_endpoints makes cleanup and the memory allocated for dep with kzalloc() is released by kfree(dep), while the delayed work mentioned above may still be pending or running. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | dwc3_thread_interrupt | dwc3_endpoint_interrupt | dwc3_gadget_endpoint_stream_event | queue_delayed_work(system_percpu_wq, | &dep->nostream_work) dwc3_gadget_free_endpoints | dwc3_free_trb_pool(dep) | list_del(&dep->endpoint.ep_list) | dwc3_debugfs_remove_endpoint_dir(dep) | kfree(dep) | // dep is freed | | dwc3_nostream_work | // use dep (use-after-free) Fix it by canceling the delayed work before kfree(dep) in dwc3_gadget_free_endpoints..
Description
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition In dwc3_gadget_init_endpoint, &dep->nostream_work is bound with dwc3_nostream_work, and dwc3_gadget_endpoint_stream_event can queue this delayed work on system_percpu_wq when a DEPEVT_STREAM_NOSTREAM event is received. If we remove the gadget, dwc3_gadget_free_endpoints makes cleanup and the memory allocated for dep with kzalloc() is released by kfree(dep), while the delayed work mentioned above may still be pending or running. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | dwc3_thread_interrupt | dwc3_endpoint_interrupt | dwc3_gadget_endpoint_stream_event | queue_delayed_work(system_percpu_wq, | &dep->nostream_work) dwc3_gadget_free_endpoints | dwc3_free_trb_pool(dep) | list_del(&dep->endpoint.ep_list) | dwc3_debugfs_remove_endpoint_dir(dep) | kfree(dep) | // dep is freed | | dwc3_nostream_work | // use dep (use-after-free) Fix it by canceling the delayed work before kfree(dep) in dwc3_gadget_free_endpoints.
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= dcfe437492e27d54f3ac491aed024da760f5c43c, < 448e95c0f3eaa8d99f16ccae92ab94545f14413b; >= dcfe437492e27d54f3ac491aed024da760f5c43c, < 93e08b13a7a30e4e78556d993720e0bc36231ec7; >= dcfe437492e27d54f3ac491aed024da760f5c43c, < 9c855832790cd488d87de1885974f4c37cfe7358 |
| Linux | Linux | 6.14 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-89739?
How severe is CVE-2026-89739?
How do I fix CVE-2026-89739?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-89733In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-89734In the Linux kernel, the following vulnerability has been re…
- CVE-2026-89735In the Linux kernel, the following vulnerability has been re…
- CVE-2026-89736In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-89737In the Linux kernel, the following vulnerability has been re…
- CVE-2026-89738In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-8974Memory safety bugs present in Firefox ESR 140.10 and Firefox…8.8
- CVE-2026-89740In the Linux kernel, the following vulnerability has been re…
- CVE-2026-89741In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-89742In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-89743In the Linux kernel, the following vulnerability has been re…7.7
- CVE-2026-89744In the Linux kernel, the following vulnerability has been re…8.4
Are you affected by CVE-2026-89739?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
