CVE-2026-53403
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Jul 19, 2026
CISA due date
—
Cloudanix analysis
A local user or program may be able to crash some Linux systems by changing display mode settings in a way the kernel does not handle safely.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This is a Linux kernel framebuffer subsystem flaw in fbdev mode-list handling. The kernel allows the framebuffer modelist to be replaced from userspace, but the vulnerable logic can remove the currently active framebuffer mode from the list. If the framebuffer console is later rebound or takes over the device, fbcon code assumes the active mode still has a matching modelist entry. That assumption fails, leaving a NULL mode pointer that is later dereferenced in fb_videomode_to_var(), causing a kernel NULL-pointer dereference. The practical impact is local denial of service through a kernel crash, panic, or unstable console/framebuffer behavior. No remote code execution or privilege escalation is indicated by the provided information.
Why it matters to the business
Systems that expose or rely on Linux framebuffer devices may be crashed by a local user or process with sufficient access to modify framebuffer mode settings. For servers, embedded systems, kiosks, appliances, workstations, and virtualization hosts using framebuffer console paths, this can cause service interruption, forced reboot, loss of interactive console access, and operational disruption. The currently low EPSS score and absence from the CISA KEV catalog indicate no known broad exploitation signal, but kernel flaws should still be remediated during normal patch cycles because they can be used to disrupt availability on affected systems.
How an attack unfolds
An attacker first needs local access to a Linux system and the ability to interact with framebuffer sysfs interfaces or otherwise modify framebuffer mode configuration. They replace the framebuffer mode list in a way that excludes the currently active mode while fbcon is unbound or not mapped to that framebuffer. Because the vulnerable kernel does not preserve the active mode in the new list, the framebuffer state becomes internally inconsistent. Later, when a console takeover, fbcon binding, or console switch path occurs, the kernel attempts to translate the active mode to a display configuration. fb_match_mode() fails, a NULL mode pointer is propagated, and fb_videomode_to_var() dereferences it. This typically results in a kernel oops or panic, causing local denial of service.
How to fix it
Apply a Linux kernel update from the operating system or appliance vendor that includes the fbdev fix for fb_new_modelist() preserving the current framebuffer mode in the modelist. If exact fixed package versions are not available from the application inventory, track the fix through vendor kernel advisories and distribution errata for the running kernel stream. As interim mitigation, restrict local access to framebuffer sysfs controls, limit write access to /sys/class/graphics/fb*/modes and related framebuffer attributes, disable or avoid exposing fbdev/framebuffer console functionality where it is not required, and enforce least privilege for local users and services. On systems where framebuffer support is unnecessary, consider disabling fbdev/fbcon modules or kernel configuration options according to vendor-supported hardening guidance.
How to confirm the fix worked
Confirm that systems are running a vendor kernel build that includes the fbdev fb_new_modelist() fix. Validate with package manager metadata, kernel changelogs, vendor advisories, or source/build provenance for the running kernel. Inventory exposed framebuffer devices under /sys/class/graphics/fb* and review permissions on writable mode-related attributes. After patching, reboot into the fixed kernel and verify the running kernel version, not only the installed package version. Where safe in a non-production test environment, regression testing can confirm that replacing framebuffer mode lists no longer leaves the active mode unmatched and no longer triggers a NULL-pointer dereference during fbcon bind/switch paths.
Typical attack path
- Obtain local access to a Linux host with an affected kernel and framebuffer device exposed.
- Identify an available framebuffer device, commonly under /sys/class/graphics/fb*.
- Ensure the framebuffer console is unbound, not mapped, or otherwise positioned so fbcon_new_modelist() does not repair the active mode reference.
- Replace the framebuffer modelist from userspace with a list that does not include the currently active framebuffer mode.
- Trigger a later framebuffer console takeover, bind, or console switch path.
- Cause fb_match_mode() to return NULL and fb_videomode_to_var() to dereference the NULL mode pointer.
- Crash or destabilize the kernel, producing denial of service.
How to detect it
Look for evidence of prior exploitation in kernel logs, persistent system journals, crash dumps, and system availability telemetry. Relevant sources include dmesg output, /var/log/kern.log, /var/log/messages, /var/log/syslog, systemd journal entries for the kernel, kdump/vmcore artifacts, pstore records, and crash reporting tools such as apport, ABRT, or vendor equivalents. Search for kernel oops or panic events with stack traces referencing fbdev or fbcon paths, especially fb_videomode_to_var(), display_to_var(), fbcon_switch(), var_to_display(), fb_match_mode(), fb_new_modelist(), store_modes(), or sysfs writes to framebuffer mode attributes. Correlate crashes with local user sessions, privileged service activity, writes to /sys/class/graphics/fb*/modes, module bind/unbind activity for framebuffer console components, and unexpected console takeover or VT switch events. Because this vulnerability produces a denial-of-service crash rather than a durable malware artifact, the strongest indicators are kernel crash traces and timing correlation with framebuffer mode-list modification.
- BUG: kernel NULL pointer dereference
- Oops: 0000
- Kernel panic - not syncing
- fb_videomode_to_var
- display_to_var
- fbcon_switch
- var_to_display
- fb_match_mode
- fb_new_modelist
- store_modes
- /sys/class/graphics/fb0/modes
- /sys/class/graphics/fb1/modes
- /sys/class/graphics/fb*/modes
- /sys/class/vtconsole/vtcon*/bind
- fbcon
- fbdev
What your security team should do
- Prioritize patching affected Linux kernels on systems where untrusted or semi-trusted local users can access framebuffer devices.
- Confirm whether framebuffer devices are present and writable on Linux servers, appliances, workstations, embedded systems, and kiosk-style deployments.
- Restrict write access to framebuffer sysfs attributes and remove unnecessary local privileges from users and services.
- Where operationally feasible, disable unused fbdev/fbcon functionality or avoid loading framebuffer console components on systems that do not require them.
- Monitor kernel logs for NULL-pointer dereference, kernel oops, panic, or stack traces involving fbdev/fbcon functions.
- Include this issue in routine kernel vulnerability management rather than emergency response unless local exploit attempts, crashes, or threat intelligence indicate active targeting.
- Ensure patch validation checks the running kernel after reboot, since installed-but-not-booted kernel updates do not remediate exposure.
The record
In the Linux kernel, the following vulnerability has been resolved: fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var info->var, a framebuffer's current mode, is expected to have a matching entry in info->modelist. var_to_display() relies on this and treats a failed fb_match_mode() as "This should not happen". fb_set_var() keeps it true by adding the mode to the list on every change, and do_register_framebuffer() does the same at registration. store_modes() replaces the modelist from userspace. fb_new_modelist() validates the new modes but does not check that info->var still has a match. It relies on fbcon_new_modelist() to re-point consoles, but that only handles consoles mapped to the framebuffer. With fbcon unbound there are none, so info->var is left describing a mode that is no longer in the list. A later console takeover runs var_to_display(), where fb_match_mode() returns NULL and leaves fb_display[i].mode NULL. fbcon_switch() passes it to display_to_var(), and fb_videomode_to_var() dereferences the NULL mode. Keep the current mode in the list in fb_new_modelist(), the same way fb_set_var() does.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62966 ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32… CWE-476
- CVE-2026-59993 Picotls is a TLS protocol library that allows users select different crypto backends… CWE-476
- CVE-2026-62298 mouse07410/asn1c is an ASN.1 compiler. CWE-476
- CVE-2026-119842 A flaw was found in GStreamer's gst-plugins-base MicroDVD subtitle parser. CWE-476
- CVE-2026-120046 Nezha 2.0.0 before 2.4.0 contains a NULL pointer dereference vulnerability in… CWE-476
- CVE-2026-119728 A flaw was found in the H.264 video parser in gst-plugins-bad. CWE-476
- CVE-2026-119760 sniproxy through 0.7.0 contains a NULL pointer dereference vulnerability in… CWE-476
- CVE-2026-105924 A NULL pointer dereference vulnerability in the Qt QCborValue to JSON conversion of the… CWE-476