fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var
Summary
| CVE | CVE-2026-53403 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-07-19 12:16:51 UTC |
| Updated | 2026-07-20 07:16:38 UTC |
| 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. |
Risk And Classification
EPSS: 0.001770000 probability, percentile 0.074780000 (date 2026-07-20)
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 1458a4d804550b7101e8bb02c1cb941088e4c0c7 git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 8707f02ac9f5f632039b60df2c9f3dc914709f72 git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 0d8c7f21ad8529d5c181e61f86be35b887ae2e4d git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 7640b4f68acb54c2c4f6b4a8aee0e9849dacd929 git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 4f1a7fe8ba845cb7d39580755f78c3b7b9a0b61e git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 eea16b6f805c0b1fb2f72f0f771088ea45356956 git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 88913059c77e171f44ba829282d42dde0d458811 git | Not specified |
| CNA | Linux | Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 7f08fc10fa3d3366dc3af723970bd03d7d6d10e3 git | Not specified |
| CNA | Linux | Linux | affected 2.6.12 | Not specified |
| CNA | Linux | Linux | unaffected 2.6.12 semver | Not specified |
| CNA | Linux | Linux | unaffected 5.10.260 5.10.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.15.211 5.15.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.1.177 6.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.6.144 6.6.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.12.95 6.12.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.18.38 6.18.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.1.3 7.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.2-rc1 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/88913059c77e171f44ba829282d42dde0d458811 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/7f08fc10fa3d3366dc3af723970bd03d7d6d10e3 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/7640b4f68acb54c2c4f6b4a8aee0e9849dacd929 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/1458a4d804550b7101e8bb02c1cb941088e4c0c7 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/8707f02ac9f5f632039b60df2c9f3dc914709f72 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/0d8c7f21ad8529d5c181e61f86be35b887ae2e4d | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/eea16b6f805c0b1fb2f72f0f771088ea45356956 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/4f1a7fe8ba845cb7d39580755f78c3b7b9a0b61e | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.