{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-64454",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-64454",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-07-25T08:51:23.212Z",
    "updatedAt": "2026-08-17T04:55:58.408Z",
    "importedAt": "2026-10-24T01:58:25.636Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "usb: dwc3: run gadget disconnect from sleepable suspend context",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: dwc3: run gadget disconnect from sleepable suspend context\n\ndwc3_gadget_suspend() takes dwc->lock with IRQs disabled and then calls\ndwc3_disconnect_gadget().  For async callbacks that helper only uses\nplain spin_unlock()/spin_lock(), so the gadget ->disconnect() callback\nstill runs with IRQs disabled and any sleepable callback trips Lockdep.\n\nThis issue was found by our static analysis tool and then manually\nreviewed against the current tree.\n\nThe grounded PoC kept the dwc3_gadget_suspend() ->\ndwc3_disconnect_gadget() -> gadget_driver->disconnect() chain, and\nLockdep reported:\n\n  BUG: sleeping function called from invalid context\n  gadget_disconnect+0x21/0x39 [vuln_msv]\n  dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv]\n\nKeep the disconnect callback selection in one common helper, but add a\nsleepable suspend-side wrapper which snapshots the callback under\ndwc->lock and then runs it after spin_unlock_irqrestore().  The regular\nevent path still uses the existing spin_unlock()/spin_lock() window.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "20351ddb1f41cfb3ae20e105425ef43a28393d76",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b399be2958456efe1b64b19c55a54a24e9035769"
            },
            {
              "version": "ad43004fd5326bec4466ecc8a07fe0e570b553ca",
              "status": "affected",
              "versionType": "git",
              "lessThan": "48958478cb8dbc429a5b19f36e866b63d6297d1d"
            },
            {
              "version": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c",
              "status": "affected",
              "versionType": "git",
              "lessThan": "5e5798880eb1533a7de6fb68eb14b2d8202ebf76"
            },
            {
              "version": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c",
              "status": "affected",
              "versionType": "git",
              "lessThan": "e0e4f15d4225fb7156cc0e3c21eb8953114f9b89"
            },
            {
              "version": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c4e232bd07fe2b69a6e5c380db41dd36b95e0524"
            },
            {
              "version": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c",
              "status": "affected",
              "versionType": "git",
              "lessThan": "642e04f5c292d04070ae6e4374fbf14cc40a2465"
            },
            {
              "version": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c",
              "status": "affected",
              "versionType": "git",
              "lessThan": "010382937fb69892b3469ac4d30af072262f59e8"
            },
            {
              "version": "06684c72b6b153dc434bb6ccebbb49f4cd812b5e",
              "status": "affected",
              "versionType": "git"
            },
            {
              "version": "5.15.128",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "5.15.212"
            },
            {
              "version": "6.1.30",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "6.1.178"
            },
            {
              "version": "6.3.4",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "6.4"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "6.4",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "6.4"
            },
            {
              "version": "5.15.212",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.178",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.145",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.96",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.39",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "7.1.4",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "version": "7.2",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}