CVE-2024-26749: usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable()
In the Linux kernel, the following vulnerability has been resolved:
usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable()
...
cdns3_gadget_ep_free_request(&priv_ep->endpoint, &priv_req->request);
list_del_init(&priv_req->list);
...
'priv_req' actually free at cdns3_gadget_ep_free_request(). But
list_del_init() use priv_req->list after it.
[ 1542.642868][ T534] BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xd4
[ 1542.642868][ T534]
[ 1542.653162][ T534] Use-after-free read at 0x000000009ed0ba99 (in kfence-#3):
[ 1542.660311][ T534] __list_del_entry_valid+0x10/0xd4
[ 1542.665375][ T534] cdns3_gadget_ep_disable+0x1f8/0x388 [cdns3]
[ 1542.671571][ T534] usb_ep_disable+0x44/0xe4
[ 1542.675948][ T534] ffs_func_eps_disable+0x64/0xc8
[ 1542.680839][ T534] ffs_func_set_alt+0x74/0x368
[ 1542.685478][ T534] ffs_func_disable+0x18/0x28
Move list_del_init() before cdns3_gadget_ep_free_request() to resolve this
problem.
Security readout for executives and security teams
Plain-English summary
CVE-2024-26749 is a Linux kernel bug in the Cadence CDNS3 USB gadget driver. When a USB gadget endpoint is disabled, the driver can touch request memory after it has already been freed. The public record describes a kernel memory-safety flaw, not a broadly confirmed remote compromise issue.
Executive priority
Treat this as a targeted kernel maintenance issue. It deserves timely patching for embedded, appliance, and USB device-mode fleets, but the supplied evidence does not support emergency prioritization for all Linux systems or claims of active exploitation.
Technical view
The bug is a use-after-free in cdns3_gadget_ep_disable(). The vulnerable flow frees priv_req through cdns3_gadget_ep_free_request(), then calls list_del_init() on priv_req->list. The upstream fix moves list_del_init() before the free. Evidence includes KFENCE reporting a use-after-free read in __list_del_entry_valid via cdns3_gadget_ep_disable().
Likely exposure
Most relevant to Linux systems using the cdns3 USB gadget driver, commonly hardware-dependent embedded or device-mode USB deployments. General servers are only likely exposed if this driver and USB gadget functionality are present and reachable. The supplied sources do not identify specific products beyond Linux kernel versions and stable fixes.
Exploitation context
The source bundle does not report active exploitation, and KEV status is false. The public evidence shows a reproducible memory-safety bug detected by KFENCE during USB gadget endpoint disable handling. No exploit path, privilege requirement, or remote attack scenario is established in the supplied sources.
Researcher notes
The key detail is operation ordering: list removal must occur before freeing the request object. The record names multiple Linux stable commits and a Debian LTS advisory, but does not provide CVSS, CWE, exploitability assessment, or affected downstream product mapping.
Mitigation direction
Upgrade to a vendor kernel containing the referenced stable cdns3 fixes.
Apply relevant distribution advisories, including Debian LTS guidance where applicable.
Prioritize devices using USB gadget mode or Cadence CDNS3 controller support.
If upgrade timing is constrained, check vendor guidance for supported temporary risk reduction.
Avoid assuming exposure without confirming the driver and USB gadget path are used.
Validation and detection
Inventory Linux kernel versions and distribution security update status.
Check whether the cdns3 driver is built, loaded, or enabled in target kernels.
Identify systems using USB gadget or FunctionFS workflows.
Confirm deployed kernels include the referenced stable fix commits or vendor backports.
Review kernel logs for related KFENCE, use-after-free, or cdns3 fault reports.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26749 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.