Skip to content
Fencer Intel
no cvss —

CVE-2026-63826 json

fbdev: fix use-after-free in store_modes()

published 3mo ago modified 5d ago also EUVD-2026-45492

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 6%
public exploits
0
none known

Summary

In the Linux kernel, the following vulnerability has been resolved:

fbdev: fix use-after-free in store_modes()

store_modes() replaces a framebuffer's modelist with modes from userspace. On success it frees the old modelist with fb_destroy_modelist(). Two fields still point into that freed list.

One pointer is fb_display[i].mode, the mode a console is using. fbcon_new_modelist() moves these pointers to the new list. It only does so for consoles still mapped to the framebuffer. An unmapped console is skipped and keeps its stale pointer. Unbinding fbcon, for example, sets con2fb_map[i] to -1 but leaves fb_display[i].mode set. An FBIOPUT_VSCREENINFO ioctl with FB_ACTIVATE_INV_MODE later reaches fbcon_mode_deleted(). That function reads the stale fb_display[i].mode through fb_mode_is_equal(). The read is a use-after-free.

The other pointer is fb_info->mode, the current mode. It is set through the mode sysfs attribute. store_modes() does not update fb_info->mode, so it is left pointing into the freed list. show_mode(), the attribute's read handler, dereferences the stale fb_info->mode through mode_string(). The read is a use-after-free.

Clear both pointers before freeing the list. Commit a1f305893074 ("fbcon: Set fb_display[i]->mode to NULL when the mode is released") added the helper fbcon_delete_modelist(). It clears every fb_display[i].mode that points into a given list. So far it is called only from the unregister path. Call it from store_modes() too, and set fb_info->mode to NULL.

Patch / fix

  • Linux Linux 6.1.191, 6.6.144, 6.12.95, 6.18.38, 7.1.3, 7.2
  • linux Debian 13 6.12.95-1
  • linux Debian 14 7.1.3-1

debian advisories DEBIAN-CVE-2026-63826

  • linux Ubuntu 24.04 LTS 6.8.0-147.147
  • linux Ubuntu 26.04 LTS 7.0.0-31.31
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1067.70
  • linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1071.79
  • linux-gcp Ubuntu 26.04 LTS 7.0.0-1011.11
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1066.74
  • linux-gke Ubuntu 26.04 LTS 7.0.0-1006.7

ubuntu advisories UBUNTU-CVE-2026-63826

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel-default SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Live Patching 15 SP6 +1 more 6.4.0-150600.23.130.1
  • kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
  • kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
  • kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
  • kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1
  • kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.78.1
  • kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.78.1
  • kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1

suse advisories SUSE-SU-2026:3602-1SUSE-SU-2026:3810-1SUSE-SU-2026:3790-1SUSE-SU-2026:23244-1SUSE-SU-2026:23241-1SUSE-SU-2026:23194-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1

opensuse advisories openSUSE-SU-2026:21555-1openSUSE-SU-2026:11339-1

  • kernel Azure Linux 3.0 6.6.144.1-2

azure linux advisories AZL-92579

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Is CVE-2026-63826 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-63826 updated cvss 7.0

kernel: fbdev: fix use-after-free in store_modes()

  • Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more
    affected: no fix available
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 10 kernel
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
5d ago

Exploit prediction

0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-11).

Affected products

  • Linux Linux

Classification

Technology feeds

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.