CVE-2026-53403

fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Aug 17, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 1458a4d804550b7101e8bb02c1cb941088e4c0c7Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 8707f02ac9f5f632039b60df2c9f3dc914709f72Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 0d8c7f21ad8529d5c181e61f86be35b887ae2e4dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 7640b4f68acb54c2c4f6b4a8aee0e9849dacd929Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 4f1a7fe8ba845cb7d39580755f78c3b7b9a0b61eAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before eea16b6f805c0b1fb2f72f0f771088ea45356956Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 88913059c77e171f44ba829282d42dde0d458811Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 7f08fc10fa3d3366dc3af723970bd03d7d6d10e3Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.10.260 through 5.10.*Not affected
  • 5.15.211 through 5.15.*Not affected
  • 6.1.177 through 6.1.*Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.38 through 6.18.*Not affected
  • 7.1.3 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.