---
id: CVE-2026-53403
title: |-
  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->mode…
summary: |-
  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->mode…
severity: none
published: '2026-07-19'
updated: '2026-07-19'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53403'
references:
  - url: 'https://git.kernel.org/stable/c/0d8c7f21ad8529d5c181e61f86be35b887ae2e4d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/1458a4d804550b7101e8bb02c1cb941088e4c0c7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4f1a7fe8ba845cb7d39580755f78c3b7b9a0b61e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7640b4f68acb54c2c4f6b4a8aee0e9849dacd929'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7f08fc10fa3d3366dc3af723970bd03d7d6d10e3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8707f02ac9f5f632039b60df2c9f3dc914709f72'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/88913059c77e171f44ba829282d42dde0d458811'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/eea16b6f805c0b1fb2f72f0f771088ea45356956'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
ingestedAt: '2026-07-19T23:34:10.580Z'
epss: 0.0013
epssPercentile: 0.02985
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
