Skip to content
Heist/ feed
Unrated

usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-89739

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-89739

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "f41ffcd656615754741f190afca00ca3c4bde9f1",
        "lessThan": "5f359265f616873edf32db418bd1513fdae3ddec",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dcfe437492e27d54f3ac491aed024da760f5c43c",
        "lessThan": "448e95c0f3eaa8d99f16ccae92ab94545f14413b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dcfe437492e27d54f3ac491aed024da760f5c43c",
        "lessThan": "93e08b13a7a30e4e78556d993720e0bc36231ec7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dcfe437492e27d54f3ac491aed024da760f5c43c",
        "lessThan": "9c855832790cd488d87de1885974f4c37cfe7358",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5212f8f452b87318e735ca304728f6f8fb55ff7b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6.6.160",
        "lessThan": "6.7",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "drivers/usb/dwc3/gadget.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.14"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.14",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.18.50",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.4",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/usb/dwc3/gadget.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-89739

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#46718 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement