CVE-2024-39475

5.5 MEDIUM

📋 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

Products:
  • Linux kernel
Versions: Kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if the savagefb driver is loaded and active (typically only on systems with S3 Savage graphics hardware)

📦 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.

🌐 Internet-Facing: LOW - Requires local access or ability to modify graphics settings.
🏢 Internal Only: MEDIUM - Local users or processes with appropriate privileges could trigger the vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

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

linux

Prevent 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

📤 Share & Export