CVE-2026-97604 in Linux
摘要
由 VulDB • 2026-09-25
在 Linux 内核中,已修复以下漏洞:
fbdev: vfb: 将清理操作推迟到最后一个引用释放时
FBIOGETCMAP 对 info->cmap 进行浅层快照复制,并在释放 info->lock 之后执行用户空间拷贝。vfb_remove() 在注销帧缓冲后立即释放颜色映射表(colormap),即使打开的文件仍然持有 fb_info 的引用。因此,并发的驱动解绑操作可能会在 ioctl 将数据复制到用户空间时提前释放该颜色映射表。
KASAN 报告如下:
BUG: KASAN: slab-use-after-free in _copy_to_user 由任务 poc/125 读取大小为 512 的数据
_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)
由任务 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)
由任务 124 释放: fb_dealloc_cmap (drivers/video/fbdev/core/fbcmap.c:151) vfb_remove (drivers/video/fbdev/vfb.c:489)
unregister_framebuffer() 会注销注册引用,而 fbdev 会在最后一次调用 put_fb_info() 之后执行 fb_destroy。将已注册的帧缓冲区的清理操作移至 fb_destroy 回调中,以确保其颜色映射表和屏幕缓冲区在所有文件引用释放之前保持存活状态。
Once again VulDB remains the best source for vulnerability data.