Skip to main content

Linux Kernel CVE-2026-53403

| EUVDEUVD-2026-45458 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-19 Linux GHSA-mppp-59pm-fqxw
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Raised AC to H because fbcon must be unbound at exploitation time - a non-default transient state; PR:L for sysfs write access; A:H for kernel panic.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 30, 2026 - 17:57 vuln.today
CVSS changed
Jul 30, 2026 - 17:52 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 14:17 EUVD
CVE Published
Jul 19, 2026 - 12:02 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 12:02 nvd
MEDIUM 5.5

DescriptionNVD

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.

AnalysisAI

NULL pointer dereference in the Linux kernel's fbdev framebuffer subsystem allows a local low-privileged user to trigger a kernel panic (denial of service) by replacing the framebuffer modelist via sysfs while fbcon is unbound. The crash occurs when a subsequent console takeover calls fb_videomode_to_var() with a NULL mode pointer, resulting from the broken invariant that info->var always has a matching entry in info->modelist. No public exploit or CISA KEV listing exists; EPSS of 0.18% (7th percentile) reflects negligible observed exploitation interest.

Technical ContextAI

The vulnerability resides in the Linux kernel fbdev (framebuffer device) subsystem, affecting all major stable branches from 5.10 through 7.x (CPE: cpe:2.3:a:linux:linux). The root cause is CWE-476 (NULL Pointer Dereference) arising from a broken kernel invariant: info->var (the current active framebuffer video mode) is always expected to have a corresponding entry in info->modelist. Functions such as fb_set_var() and do_register_framebuffer() maintain this invariant diligently. However, fb_new_modelist() - invoked through the sysfs store_modes interface - replaces the entire modelist from userspace without verifying that the currently active mode survives the replacement. The recovery path through fbcon_new_modelist() only corrects consoles actively mapped to the framebuffer; when fbcon is unbound (e.g., while a display server holds the framebuffer), no mapped consoles exist, so the invariant is silently broken. When a console later takes over, var_to_display() calls fb_match_mode(), which returns NULL, leaving fb_display[i].mode NULL. fbcon_switch() passes this to display_to_var(), which calls fb_videomode_to_var() and dereferences the NULL pointer, causing a kernel panic. The fix mirrors what fb_set_var() already does: ensure the current mode is retained in the list inside fb_new_modelist().

RemediationAI

The primary fix is upgrading to a patched kernel version appropriate to the running stable branch: 5.10.260, 5.15.211, 6.1.177, 6.6.144, 6.12.95, 6.18.38, or 7.1.3. Eight upstream stable commits are available at git.kernel.org (references: 1458a4d804550b7101e8bb02c1cb941088e4c0c7, 8707f02ac9f5f632039b60df2c9f3dc914709f72, 0d8c7f21ad8529d5c181e61f86be35b887ae2e4d, 7640b4f68acb54c2c4f6b4a8aee0e9849dacd929, 4f1a7fe8ba845cb7d39580755f78c3b7b9a0b61e, eea16b6f805c0b1fb2f72f0f771088ea45356956, 88913059c77e171f44ba829282d42dde0d458811, 7f08fc10fa3d3366dc3af723970bd03d7d6d10e3). Distribution-maintained kernels should be updated via the standard package manager. As a compensating control for systems that cannot patch immediately, restricting write permissions on /sys/class/graphics/*/modes via a udev rule (e.g., MODE="0400") prevents userspace from invoking store_modes(), which eliminates the modelist replacement path entirely; the trade-off is that display configuration tools relying on sysfs-based mode setting will fail. A second option is to ensure fbcon remains bound before any framebuffer mode changes, but this is difficult to enforce programmatically and not recommended as a primary mitigation.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

Share

CVE-2026-53403 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy