CVE-2026-98695
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: USB: serial: fix ioctl hangup race The tty ioctls can race with hangup and end up calling into a tty driver for a device that is already gone or powered down. Serialise the callbacks using the tty port mutex and add the missing checks to make sure the port has not been hung up before accessing port driver data or hardware. This specifically avoids dereferencing a NULL-pointer if a device is disconnected during lengthy break signalling. Note that TIOCGICOUNT and TIOCMIWAIT do not access port driver data or hardware and are therefore not affected by the race.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:22.960000
Last modified
2026-10-30 13:21:18.557000
View original CVE JSON
{
"id": "CVE-2026-98695",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-18T16:17:22.960",
"lastModified": "2026-10-30T13:21:18.557",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: serial: fix ioctl hangup race\n\nThe tty ioctls can race with hangup and end up calling into a tty driver\nfor a device that is already gone or powered down.\n\nSerialise the callbacks using the tty port mutex and add the missing\nchecks to make sure the port has not been hung up before accessing port\ndriver data or hardware.\n\nThis specifically avoids dereferencing a NULL-pointer if a device is\ndisconnected during lengthy break signalling.\n\nNote that TIOCGICOUNT and TIOCMIWAIT do not access port driver data or\nhardware and are therefore not affected by the race."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/usb/serial/generic.c",
"drivers/usb/serial/usb-serial.c",
"drivers/usb/serial/xr_serial.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "c7ef25e96dc3f808eb891bbbd43b6a682846eb0c",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "98f0a25134bfce44ebd1db0341fa0e8603ff276d",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "3a728adbed9fd822f99a9d9c5ebad5c3b565ba4a",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "24d6edb6bd7f7a9e6cee2f8fe435781daab8aa0f",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "ae0da9a5c1ca95c20cc5feffd511ce6eae75924e",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "4597ddd6168ae2a4123404e5f0871f1070dc7773",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "7912a95d1345c77d8d63b530b00c118700b78abd",
"versionType": "git",
"status": "affected"
},
{
"version": "f34d7a5b7010b82fe97da95496b9971435530062",
"lessThan": "ae0e61d95677efa778379853e495d748e6efbf95",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/usb/serial/generic.c",
"drivers/usb/serial/usb-serial.c",
"drivers/usb/serial/xr_serial.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "2.6.26",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.26",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.273",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.113",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.56",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.10",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/24d6edb6bd7f7a9e6cee2f8fe435781daab8aa0f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3a728adbed9fd822f99a9d9c5ebad5c3b565ba4a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/4597ddd6168ae2a4123404e5f0871f1070dc7773",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7912a95d1345c77d8d63b530b00c118700b78abd",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/98f0a25134bfce44ebd1db0341fa0e8603ff276d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ae0da9a5c1ca95c20cc5feffd511ce6eae75924e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ae0e61d95677efa778379853e495d748e6efbf95",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c7ef25e96dc3f808eb891bbbd43b6a682846eb0c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}