CVE-2024-39475
📋 TL;DR
This CVE describes a divide-by-zero vulnerability in the Linux kernel's savagefb framebuffer driver. When pixclock is set to zero, the driver fails to handle the error properly, causing a kernel panic or system crash. This affects Linux systems using the savagefb driver for S3 Savage graphics cards.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially causing data loss or system instability.
Likely Case
System crash or kernel panic requiring reboot, resulting in temporary denial of service.
If Mitigated
No impact if the vulnerable driver is not loaded or if systems are patched.
🎯 Exploit Status
Requires ability to modify framebuffer parameters (typically requires local access and appropriate privileges)
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits: 32f92b0078ebf79dbe4827288e0acb50d89d3d5b, 4b2c67e30b4e1d2ae19dba8b8e8f3b5fd3cf8089, 5f446859bfa46df0ffb34149499f48a2c2d8cd95, 6ad959b6703e2c4c5d7af03b4cfd5ff608036339, 86435f39c18967cdd937d7a49ba539cdea7fb547
Vendor Advisory: https://git.kernel.org/stable/c/32f92b0078ebf79dbe4827288e0acb50d89d3d5b
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution's repositories. 2. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable savagefb driver
linuxPrevent loading of the vulnerable driver module
echo 'blacklist savagefb' >> /etc/modprobe.d/blacklist.conf
rmmod savagefb
🧯 If You Can't Patch
- Ensure only trusted users have access to modify framebuffer settings
- Monitor system logs for kernel panic events related to savagefb
🔍 How to Verify
Check if Vulnerable:
Check if savagefb module is loaded: lsmod | grep savagefb AND check kernel version against patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits and savagefb module functions without panic when pixclock=0
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- divide error or divide-by-zero in kernel logs
- savagefb driver crash logs
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("divide error" OR "divide-by-zero" OR "panic" OR "oops") AND "savagefb"
🔗 References
- https://git.kernel.org/stable/c/32f92b0078ebf79dbe4827288e0acb50d89d3d5b
- https://git.kernel.org/stable/c/4b2c67e30b4e1d2ae19dba8b8e8f3b5fd3cf8089
- https://git.kernel.org/stable/c/5f446859bfa46df0ffb34149499f48a2c2d8cd95
- https://git.kernel.org/stable/c/6ad959b6703e2c4c5d7af03b4cfd5ff608036339
- https://git.kernel.org/stable/c/86435f39c18967cdd937d7a49ba539cdea7fb547
- https://git.kernel.org/stable/c/b8385ff814ca4cb7e63789841e6ec2a14c73e1e8
- https://git.kernel.org/stable/c/be754cbd77eaf2932408a4e18532e4945274a5c7
- https://git.kernel.org/stable/c/edaa57480b876e8203b51df7c3d14a51ea6b09e3
- https://git.kernel.org/stable/c/32f92b0078ebf79dbe4827288e0acb50d89d3d5b
- https://git.kernel.org/stable/c/4b2c67e30b4e1d2ae19dba8b8e8f3b5fd3cf8089
- https://git.kernel.org/stable/c/5f446859bfa46df0ffb34149499f48a2c2d8cd95
- https://git.kernel.org/stable/c/6ad959b6703e2c4c5d7af03b4cfd5ff608036339
- https://git.kernel.org/stable/c/86435f39c18967cdd937d7a49ba539cdea7fb547
- https://git.kernel.org/stable/c/b8385ff814ca4cb7e63789841e6ec2a14c73e1e8
- https://git.kernel.org/stable/c/be754cbd77eaf2932408a4e18532e4945274a5c7
- https://git.kernel.org/stable/c/edaa57480b876e8203b51df7c3d14a51ea6b09e3