CVE-2026-97604

fbdev: vfb: defer cleanup until the last reference

N/A
Published: September 25, 2026 at 10:22 AM UTC
Updated: October 19, 2026 at 10:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: fbdev: vfb: defer cleanup until the last reference FBIOGETCMAP takes a shallow snapshot of info->cmap and performs the usercopy after dropping info->lock. vfb_remove() frees the colormap immediately after unregistering the framebuffer, even when an open file still holds a reference to fb_info. A concurrent driver unbind can therefore free the colormap while the ioctl copies it to userspace. KASAN reports: BUG: KASAN: slab-use-after-free in _copy_to_user Read of size 512 by task poc/125 _copy_to_user (./include/linux/instrumented.h:129 ./include/linux/uaccess.h:201 lib/usercopy.c:24) fb_cmap_to_user (./include/linux/uaccess.h:230 drivers/video/fbdev/core/fbcmap.c:211) do_fb_ioctl (drivers/video/fbdev/core/fb_chrdev.c:114) Allocated by task 1: fb_alloc_cmap_gfp (./include/linux/slab.h:973 ./include/linux/slab.h:1290 drivers/video/fbdev/core/fbcmap.c:108) vfb_probe (drivers/video/fbdev/vfb.c:459) Freed by task 124: fb_dealloc_cmap (drivers/video/fbdev/core/fbcmap.c:151) vfb_remove (drivers/video/fbdev/vfb.c:489) unregister_framebuffer() drops the registration reference, and fbdev calls fb_destroy after the last put_fb_info(). Move the registered framebuffer's cleanup into an fb_destroy callback so its colormap and screen buffer stay alive until all file references have been released.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.305e266e2e0e19532c1b8e2e2bff1eb6ccf42e478a
Vendor states this is fixed in 040ce3950f64a11e9ee5646c8aaa91fd2e29e245 (fixed)
Vendor states this is fixed in 3c91e51a53cf805e551e5dc8149cd0539a6dbb9d (fixed)
Vendor states this is fixed in 5ff1effb047e465cde193d7df95988aa1520035e (fixed)
Vendor states this is fixed in 86356f13598f59f5acb1754895747dcdaf65a254 (fixed)
Vendor states this is fixed in a0a34a40ed299c9c7cff6af163a5b883ee9d6d73 (fixed)
Vendor states this is fixed in ab664e279eb2a68e55895dd115a9488807280f07 (fixed)
Vendor states this is fixed in bf49eac7ed11aabd0b9b790c062742a8e4be97c6 (fixed)
Vendor states this is fixed in de5a0eda59fe4b3eacd1a67c992e54766bb6683f (fixed)
Vendor states this is fixed in 2.6.30 (unaffected)
Vendor states this is fixed in 5.10.271 (unaffected)
Vendor states this is fixed in 5.15.222 (unaffected)
Vendor states this is fixed in 6.1.189 (unaffected)
Vendor states this is fixed in 6.12.111 (unaffected)
Vendor states this is fixed in 6.18.53 (unaffected)
Vendor states this is fixed in 6.6.158 (unaffected)
Vendor states this is fixed in 7.2.7 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc3 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card