cbcvebase.
CVE-2025-68296
published 2025-12-16

CVE-2025-68296: In the Linux kernel, the following vulnerability has been resolved: drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup Protect…

PriorityP422high7.2
EPSS
0.18%
8.0th percentile
In the Linux kernel, the following vulnerability has been resolved: drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup Protect vga_switcheroo_client_fb_set() with console lock. Avoids OOB access in fbcon_remap_all(). Without holding the console lock the call races with switching outputs. VGA switcheroo calls fbcon_remap_all() when switching clients. The fbcon function uses struct fb_info.node, which is set by register_framebuffer(). As the fb-helper code currently sets up VGA switcheroo before registering the framebuffer, the value of node is -1 and therefore not a legal value. For example, fbcon uses the value within set_con2fb_map() [1] as an index into an array. Moving vga_switcheroo_client_fb_set() after register_framebuffer() can result in VGA switching that does not switch fbcon correctly. Therefore move vga_switcheroo_client_fb_set() under fbcon_fb_registered(), which already holds the console lock. Fbdev calls fbcon_fb_registered() from within register_framebuffer(). Serializes the helper with VGA switcheroo's call to fbcon_remap_all(). Although vga_switcheroo_client_fb_set() takes an instance of struct fb_info as parameter, it really only needs the contained fbcon state. Moving the call to fbcon initialization is therefore cleaner than before. Only amdgpu, i915, nouveau and radeon support vga_switcheroo. For all other drivers, this change does nothing.

Affected

17 ranges
VendorProductVersion rangeFixed in
debianlinux< linux 6.17.11-1 (forky)linux 6.17.11-1 (forky)
linuxlinux
linuxlinux>= 6a9ee8af344e3bd7dbd61e67037096cdf7f83289 < 711ebd961190def4c69ea24b2f0be75e995af24a711ebd961190def4c69ea24b2f0be75e995af24a
linuxlinux>= 6a9ee8af344e3bd7dbd61e67037096cdf7f83289 < 482330f8261b4bea8146d9bd69c1199e5dfcbb5c482330f8261b4bea8146d9bd69c1199e5dfcbb5c
linuxlinux>= 6a9ee8af344e3bd7dbd61e67037096cdf7f83289 < 05814c389b53d2f3a0b9eeb90ba7a05ba77c4c2a05814c389b53d2f3a0b9eeb90ba7a05ba77c4c2a
linuxlinux>= 6a9ee8af344e3bd7dbd61e67037096cdf7f83289 < eb76d0f5553575599561010f24c277cc5b31d003eb76d0f5553575599561010f24c277cc5b31d003
linuxlinux_kernel>= 0 < 6.12.63-16.12.63-1
linuxlinux_kernel>= 0 < 6.17.11-16.17.11-1
linuxlinux_kernel>= 0 < 6.17.0-19.196.17.0-19.19
linuxlinux_kernel>= 2.6.34 < 6.12.616.12.61
linuxlinux_kernel>= 6.13.0 < 6.17.116.17.11
msrcazl3_kernel_6.6.117.1-1_on_azure_linux_3.0
msrcazl3_kernel_6.6.119.3-1_on_azure_linux_3.0
msrcazl3_kernel_6.6.119.3-3_on_azure_linux_3.0
msrcazl3_kernel_6.6.121.1-1_on_azure_linux_3.0
msrcazl3_kernel_6.6.126.1-1_on_azure_linux_3.0
msrcazl3_kernel_6.6.130.1-3_on_azure_linux_3.0

CVSS provenance

osv7.2HIGH
vendor_ubuntu7.2HIGH
vendor_msrc5.5MEDIUM
vendor_redhat4.7MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.