Back

MEDIUM

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

Published Jul 19, 2026

Description

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 products

Remediation

No remediation recorded yet.

References (14)

Change history (0)

No recorded changes yet.

Sources
CVE.org / MITRE
Status PUBLISHED
Assigner Linux
Published Jul 19, 2026
Updated Aug 17, 2026
Reserved Jun 9, 2026
NVD
Status Analyzed
Modified Aug 17, 2026
Red Hat
Severity Low
Public date Jul 19, 2026
ENISA EUVD
Assigner Linux
Published Jul 19, 2026
Updated Aug 17, 2026
Exploited since n/a
EUVD-2026-45458