CVE-2026-80785
NoneCVSS
—
EPSS
0.2%
Published
Sep 4, 2026
CISA due date
—
Cloudanix analysis
A locking mistake in the Linux kernel's display handling code can let one program interfere with another and corrupt memory, which may crash the system or let an attacker take control.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in fbdev sysfs handlers allows concurrent access to fb_info modelist and mode pointers without lock_fb_info(), enabling use-after-free dereference or stale pointer storage when store_modes() frees the list.
Why it matters to the business
Linux systems using framebuffer devices face kernel instability or potential local privilege escalation, increasing risk of downtime or compromise especially on servers or embedded devices with high device exposure.
How an attack unfolds
An attacker with local access triggers simultaneous reads or writes via sysfs mode files while another operation replaces and frees the modelist, causing the reader to dereference freed memory or install a dangling pointer.
How to fix it
Update to a Linux kernel containing the fix that adds lock_fb_info() serialization in show_mode(), show_modes(), and store_mode(), plus the _locked activate variant; rebuild and reboot affected systems.
How to confirm the fix worked
Confirm the kernel source contains the locking changes around modelist access, test concurrent sysfs mode operations under load, and verify no use-after-free reports in kernel logs during stress testing.
Typical attack path
- Obtain local unprivileged access on a Linux system with fbdev enabled
- Open multiple sysfs handles to /sys/class/graphics/fb*/modes and mode
- Race store_modes() updates against show_mode/show_modes/store_mode readers
- Trigger use-after-free or stale pointer write to escalate privileges or crash the kernel
How to detect it
Review kernel logs for use-after-free or slab corruption around fbdev and sysfs; inspect audit logs for unusual concurrent access patterns to graphics device sysfs entries.
What your security team should do
- Prioritize kernel updates on all systems exposing fbdev sysfs interfaces
- Monitor EPSS and exploit maturity for any increase in public PoCs
- Restrict unprivileged access to graphics sysfs nodes where feasible via mount options or LSM policies
The record
In the Linux kernel, the following vulnerability has been resolved: fbdev: serialize mode sysfs access with lock_fb_info() show_mode(), show_modes(), and store_mode() access fb_info->modelist and fb_info->mode without holding lock_fb_info(). store_modes() takes lock_fb_info() while replacing the modelist and freeing the old one. A concurrent reader or writer can load a pointer to an old modelist entry before store_modes() frees it, then dereference freed memory or store a stale freed pointer in fb_info->mode. Take lock_fb_info() in show_mode(), show_modes(), and store_mode() to serialize with store_modes(). In show_mode(), copy the mode to the stack and format after dropping the lock. In store_mode(), split activate() into a _locked variant to avoid double-locking, and hold the locks for the modelist walk, mode conversion, activation, and fb_info->mode assignment together.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|