CVE-2026-98752 PUBLISHED

tty: port: fix tty_port_tty_vhangup() race

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

In the Linux kernel, the following vulnerability has been resolved:

tty: port: fix tty_port_tty_vhangup() race

Drivers rely on tty_port_tty_vhangup() to synchronously hang up their ports before tearing down resources as part of deregistration (e.g. on physical disconnect).

If tty_port_tty_vhangup() races with another hangup it may however return before the port has been shut down. This is in turn can lead to use-after-free and NULL-pointer dereferences in racing ioctls (including a synchronous hangup) and in processing of racing asynchronous hangups (carrier loss).

Add the missing serialisation to tty_port_tty_vhangup() and tty_port_hangup() so that the former does not return until the port has been shut down also when there is a racing hangup.

Note that serial core does not use tty_port_hangup(), but it already holds the port mutex when clearing port->tty and shutting down the port in uart_hangup().

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 7ca0ff9ab3218ec443a7a9ad247e4650373ed41e to 6d1a984afc3ca477dab3e51ec806671d443ad524 (excl.)
  • affected from 7ca0ff9ab3218ec443a7a9ad247e4650373ed41e to 6b7be3b9b857947e9c1338d4919d4ebd3b75e907 (excl.)
  • affected from 7ca0ff9ab3218ec443a7a9ad247e4650373ed41e to 017b18addbe8dcace1a569a00d40ed1ba1e03f4c (excl.)
  • affected from 7ca0ff9ab3218ec443a7a9ad247e4650373ed41e to b48820de8c1a596c5b99775524dfce73c6576c5d (excl.)
  • Version 4260dc792fabfd20c8644fa9414b2ae48372365f is affected
  • affected from 2.6.31.2 to 2.6.32 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.32 is affected
  • unaffected from 0 to 2.6.32 (excl.)
  • unaffected from 6.12.113 to 6.12.* (incl.)
  • unaffected from 6.18.56 to 6.18.* (incl.)
  • unaffected from 7.2.10 to 7.2.* (incl.)
  • unaffected from 7.3-rc6 to * (incl.)

References