CVE-2026-63949: auxdisplay: line-display: fix OOB read on zero-length message_store()
High 7.1 EPSS 0.1% Linux kernel
In the Linux kernel, the following vulnerability has been resolved: auxdisplay: line-display: fix OOB read on zero-length message_store() linedisp_display() unconditionally reads msg[count - 1] before checking whether count is zero, so a write of zero bytes to the message sysfs attribute hits msg[-1]: write(fd, "", 0); -> message_store(..., buf, count=0) -> linedisp_display(linedisp, buf, count=0) -> msg[count - 1] == '\n' ; OOB read The kernfs write buffer for that store is a 1-byte allocation (kernfs_fop_write_iter() does kmalloc(len + 1) with len == 0), so msg[-1] is a 1-byte read before the slab object. On a KASAN-enabled kernel this trips an out-of-bounds report and panics; on stock kernels it silently reads adjacent slab data and, if that byte happens to be '\n', the following count-- wraps ssize_t 0 to -1 and is then passed to kmemdup_nul(). linedisp_display() is reached from the message_store() sysfs callback (drivers/auxdisplay/line-display.c message attribute, mode 0644) and from the in-tree initial-message setup with count == -1, so the OOB path is only userspace-triggerable via zero-byte writes; vfs_write() does not short-circuit on count == 0 and kernfs_fop_write_iter() dispatches the store callback regardless. Guard the trailing-newline trim with a count check. The existing if (!count) block then takes the clear-display path unchanged. Affects every auxdisplay driver that registers via linedisp_register() / linedisp_attach(): ht16k33, max6959, img-ascii-lcd, seg-led-gpio.
- CVE-2026-63949CVE identifier
- 7.1CVSS 3.1 base score (high)
- 0.1%EPSS: chance of exploitation in the next 30 days (higher than 2% of CVEs)
- 2026-07-19published
What do these terms mean? CVE · CVSS score · exploited (KEV) · EPSS · backported fix · all terms
What to do now
- Check whether you run Linux kernel and which version (commands below).
- Install the fixed version for your system: see “Patch it” below.
- Reboot into the new kernel (uname -r to confirm); live patching (kpatch, Ubuntu Livepatch, SUSE kGraft/klp) can defer the reboot for some CVEs
Affected and fixed versions
Affected:
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before ca5b0781946d5083ceafa752141f47f085853620
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before 8776032fe989a9b5fc77f2de5e03e4adb44c630e
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before 3859960daeb9b7b39b9847b5b0113bc6081eb735
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before 197476b126010bac1b3199833c6966cd6f54c2a9
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before 6ad4f75ef9f3372fce8cad494e789ac6a5507bef
- Linux Linux 7e76aece6f036cb7ada4858d6aa73825bfe22983 to before a7511dcd9dd4bc55d123f9b800c8a4ed2662e5c6
- Linux Linux 5.16
Patch it
Use the commands for your system. Distribution packages often keep an older version number with the fix backported, so compare with the fixed package versions in the table below, not only with the upstream version.
Debian
sudo apt update
sudo apt install --only-upgrade linux-image-amd64Ubuntu
sudo apt update
sudo apt install --only-upgrade linux-image-generic (or the installed flavour: linux-image-aws, -azure, -gcp, -virtual)RHEL, AlmaLinux, Rocky, Oracle
sudo dnf upgrade --refresh kernelFedora
sudo dnf upgrade --refresh kernelSUSE / openSUSE
sudo zypper refresh
sudo zypper update kernel-defaultAmazon Linux
sudo dnf upgrade --releasever=latest kernel kernel6.12Arch Linux
sudo pacman -SyuAlpine
apk update && apk upgrade linux-lts linux-virtFreeBSD
not LinuxGeneral update steps for every system are on the Linux and Unix & BSD pages; after updating, see which services to restart.
Fix status in Linux distributions
| Release | Package | Status | Fixed version / advisory |
|---|---|---|---|
| Debian 12 | linux | fixed | 6.1.176-1 |
| Debian 13 | linux | fixed | 6.12.94-1 |
| Debian testing | linux | fixed | 7.0.12-1 |
From the Debian security tracker, Ubuntu CVE tracker and Red Hat Security Data API, refreshed every few hours.
Sources
- https://git.kernel.org/stable/c/ca5b0781946d5083ceafa752141f47f085853620
- https://git.kernel.org/stable/c/8776032fe989a9b5fc77f2de5e03e4adb44c630e
- https://git.kernel.org/stable/c/3859960daeb9b7b39b9847b5b0113bc6081eb735
- https://git.kernel.org/stable/c/197476b126010bac1b3199833c6966cd6f54c2a9
- https://git.kernel.org/stable/c/6ad4f75ef9f3372fce8cad494e789ac6a5507bef
- https://git.kernel.org/stable/c/a7511dcd9dd4bc55d123f9b800c8a4ed2662e5c6
- CVE-2026-63949 on CVE.org
- CVE-2026-63949 on NVD
Page generated automatically from official sources on 2026-11-03 18:05 UTC. Always confirm with your vendor's advisory.