CVE-2026-98772
In the Linux kernel, the following vulnerability has been resolved:
USB: serial: fix port tear down use-after-free
Some drivers for multiport devices access port driver data from completion handlers of shared URBs submitted at attach() or first open() and stopped at disconnect() or last close(), respectively.
A simple NULL check before accessing the driver data makes sure that a port state container has at least been allocated, but a completion handler can still race with port tear down.
Reorder the disconnect handling so that ports are not deregistered (and their driver data freed) until after all ports have been hung up and the driver disconnect() callback has run so that all I/O has been stopped.
CVSS
NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.17 %
- Percentile among all scored CVEs
- 6
- Score date
- 10/20/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
References
Show 4 references
Raw JSON (NVD)
Show
{
"id": "CVE-2026-98772",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2d93148ab6988cad872e65d694c95e8944e1b626",
"lessThan": "60cc9379c3e650d1ebfba4de63f1242537a62a32",
"versionType": "git"
},
{
"status": "affected",
"version": "2d93148ab6988cad872e65d694c95e8944e1b626",
"lessThan": "5e8980a81af195c49084be5b4c031085b56c7443",
"versionType": "git"
},
{
"status": "affected",
"version": "2d93148ab6988cad872e65d694c95e8944e1b626",
"lessThan": "e80ee74206f260eb1282e7d1339ff146a4a410d0",
"versionType": "git"
},
{
"status": "affected",
"version": "2d93148ab6988cad872e65d694c95e8944e1b626",
"lessThan": "33c920f7c5952dfc42d1b8ea6efe16b1f0bb0c5b",
"versionType": "git"
}
],
"programFiles": [
"drivers/usb/serial/usb-serial.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.30"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.30",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/usb/serial/usb-serial.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:31.127",
"references": [
{
"url": "https://git.kernel.org/stable/c/33c920f7c5952dfc42d1b8ea6efe16b1f0bb0c5b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/5e8980a81af195c49084be5b4c031085b56c7443",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/60cc9379c3e650d1ebfba4de63f1242537a62a32",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e80ee74206f260eb1282e7d1339ff146a4a410d0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: serial: fix port tear down use-after-free\n\nSome drivers for multiport devices access port driver data from\ncompletion handlers of shared URBs submitted at attach() or first open()\nand stopped at disconnect() or last close(), respectively.\n\nA simple NULL check before accessing the driver data makes sure that a\nport state container has at least been allocated, but a completion\nhandler can still race with port tear down.\n\nReorder the disconnect handling so that ports are not deregistered (and\ntheir driver data freed) until after all ports have been hung up and the\ndriver disconnect() callback has run so that all I/O has been stopped."
}
],
"lastModified": "2026-10-19T10:19:41.310",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}