{"id":"CVE-2026-98752","kind":"vulnerability","aliases":["CVE-2026-98752"],"related":[],"title":"Linux kernel: tty hangup race can cause use-after-free and NULL dereference","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ntty: port: fix tty_port_tty_vhangup() race\n\nDrivers rely on tty_port_tty_vhangup() to synchronously hang up their\nports before tearing down resources as part of deregistration (e.g. on\nphysical disconnect).\n\nIf tty_port_tty_vhangup() races with another hangup it may however\nreturn before the port has been shut down. This is in turn can lead to\nuse-after-free and NULL-pointer dereferences in racing ioctls (including\na synchronous hangup) and in processing of racing asynchronous hangups\n(carrier loss).\n\nAdd the missing serialisation to tty_port_tty_vhangup() and\ntty_port_hangup() so that the former does not return until the port has\nbeen shut down also when there is a racing hangup.\n\nNote that serial core does not use tty_port_hangup(), but it already\nholds the port mutex when clearing port->tty and shutting down the port\nin uart_hangup().","summary":"A race in the Linux kernel's tty port hangup path can let tty_port_tty_vhangup() return before the port is shut down. That can lead to use-after-free and NULL pointer dereferences in racing ioctls or asynchronous hangups.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["drivers","linux-kernel","runtime","tty"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-18T16:17:28+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","triaged_at":"2026-10-25T05:16:53+00:00","updated_at":"2026-10-25T05:16:53+00:00","category":"runtime","confidence":0.4,"triage":{"at":"2026-10-25T05:16:53Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: tty hangup race can cause use-after-free and NULL dereference","impact":"medium","summary":"A race in the Linux kernel's tty port hangup path can let tty_port_tty_vhangup() return before the port is shut down. That can lead to use-after-free and NULL pointer dereferences in racing ioctls or asynchronous hangups.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","tty","drivers"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown; use-after-free and NULL dereference in kernel tty code","analyst_note":"Sources list only NVD with no fixed kernel version or affected-driver list; check the upstream kernel commit and stable backports for the fixed versions and which drivers use tty_port_tty_vhangup().","how_to_check":"unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000547,"input_tokens":3542,"output_tokens":385,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':16A,19A '-98752':17A,20A 'add':164C 'alreadi':210C 'also':191C 'anoth':119C 'asynchron':67B,160C 'carrier':162C 'caus':7A 'clear':216C 'core':201C 'cve':15A,18A 'derefer':14A,62B,147C 'deregistr':107C 'disconnect':111C 'driver':21B,87C 'e.g':108C 'fix':81C 'follow':74C 'former':180C 'free':11A,58B,142C 'hang':96C 'hangup':4A,36B,68B,120C,154C,161C,176C,197C,207C,226C 'hold':211C 'howev':123C 'includ':151C 'ioctl':65B,150C 'kernel':2A,24B,32B,72C 'lead':53B,137C 'let':39B 'linux':1A,23B,31B,71C 'linux-kernel':22B 'loss':163C 'may':122C 'miss':166C 'mutex':214C 'note':198C 'null':13A,60B,145C 'null-point':144C 'part':105C 'path':37B 'physic':110C 'pointer':61B,146C 'port':35B,41B,47B,80C,83C,91C,99C,114C,127C,170C,175C,186C,206C,213C,217C,223C 'process':157C 'race':5A,28B,64B,86C,117C,149C,159C,196C 'reli':88C 'resolv':78C 'resourc':103C 'return':44B,124C,183C 'runtim':25B 'serial':200C 'serialis':167C 'shut':49B,130C,189C,220C 'synchron':95C,153C 'tear':101C 'tti':3A,26B,34B,40B,42B,79C,82C,84C,90C,92C,113C,115C,169C,171C,174C,205C,218C 'turn':135C 'uart':225C 'use':9A,56B,140C,204C 'use-after-fre':8A,55B,139C 'vhangup':43B,85C,93C,116C,172C 'vulner':75C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:28+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98752","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98752","severity":null,"published_at":"2026-10-18T16:17:28+00:00","modified_at":"2026-10-21T13:21:43+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","fetched_at":"2026-10-23T22:28:56+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}