← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-63949

Last refreshed2026-10-30

Status: UPDATED  |  Advisory ID: CVE-2026-63949

Key Details

CVECVE-2026-63949
CVSS Score / Version
7.1 (High) / CVSS v3.1
Updated2026-10-30
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS Prose
attack vector is local; attack complexity is low; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is none; availability impact is high.
Affected products
Linux Kernel
Classified as
CWE-125 (Out-of-bounds Read)

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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. (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-63949
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-63949
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.