{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "20351ddb1f41cfb3ae20e105425ef43a28393d76"
            },
            {
              "fixed": "b399be2958456efe1b64b19c55a54a24e9035769"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "ad43004fd5326bec4466ecc8a07fe0e570b553ca"
            },
            {
              "fixed": "48958478cb8dbc429a5b19f36e866b63d6297d1d"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "c8540870af4ce6ddeb27a7bb5498b75fb29b643c"
            },
            {
              "fixed": "5e5798880eb1533a7de6fb68eb14b2d8202ebf76"
            },
            {
              "fixed": "e0e4f15d4225fb7156cc0e3c21eb8953114f9b89"
            },
            {
              "fixed": "c4e232bd07fe2b69a6e5c380db41dd36b95e0524"
            },
            {
              "fixed": "642e04f5c292d04070ae6e4374fbf14cc40a2465"
            },
            {
              "fixed": "010382937fb69892b3469ac4d30af072262f59e8"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "06684c72b6b153dc434bb6ccebbb49f4cd812b5e"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.15.128"
            },
            {
              "fixed": "5.15.212"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.1.30"
            },
            {
              "fixed": "6.1.178"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.3.4"
            },
            {
              "fixed": "6.4"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "5.15.212"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.1.178"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.6.145"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.4.0"
            },
            {
              "fixed": "6.12.96"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.18.39"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "7.1.4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64454.json"
  },
  "details": "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-\u003elock with IRQs disabled and then calls\ndwc3_disconnect_gadget().  For async callbacks that helper only uses\nplain spin_unlock()/spin_lock(), so the gadget -\u003edisconnect() 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() -\u003e\ndwc3_disconnect_gadget() -\u003e gadget_driver-\u003edisconnect() 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-\u003elock and then runs it after spin_unlock_irqrestore().  The regular\nevent path still uses the existing spin_unlock()/spin_lock() window.",
  "id": "CVE-2026-64454",
  "modified": "2026-07-27T03:56:37.638021966Z",
  "published": "2026-07-25T08:51:23.212Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/010382937fb69892b3469ac4d30af072262f59e8"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/48958478cb8dbc429a5b19f36e866b63d6297d1d"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/5e5798880eb1533a7de6fb68eb14b2d8202ebf76"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/642e04f5c292d04070ae6e4374fbf14cc40a2465"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b399be2958456efe1b64b19c55a54a24e9035769"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c4e232bd07fe2b69a6e5c380db41dd36b95e0524"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e0e4f15d4225fb7156cc0e3c21eb8953114f9b89"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64454.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-64454"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.8.0",
  "summary": "usb: dwc3: run gadget disconnect from sleepable suspend context"
}