CVE-2024-56567
📋 TL;DR
A division by zero vulnerability exists in the Linux kernel's ad7780 driver when handling certain input values. This could cause kernel crashes or system instability on systems using affected AD7780 analog-to-digital converter hardware. The vulnerability affects Linux systems with the ad7780 driver loaded.
💻 Affected Systems
- Linux kernel with ad7780 driver
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially requiring physical reboot of affected systems.
Likely Case
System instability or kernel crash when specific operations are performed on AD7780 hardware, resulting in temporary denial of service.
If Mitigated
No impact if the ad7780 driver is not loaded or AD7780 hardware is not present.
🎯 Exploit Status
Exploitation requires local access and ability to trigger specific driver operations on AD7780 hardware
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 022e13518ba6cc1b4fdd291f49e4f57b2d5718e0, 18fb33df1de83a014d7f784089f9b124facc157f, 68e79b848196a0b0ec006009cc69da1f835d1ae8, 7e3a8ea3d1ada7f707de5d9d504774b4191eab66, afc1e3c00b3f5f0b4f1bc3e974fb9803cb938a90
Vendor Advisory: https://git.kernel.org/stable/c/022e13518ba6cc1b4fdd291f49e4f57b2d5718e0
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing fix commits. 2. Reboot system. 3. Verify ad7780 driver is not vulnerable by checking kernel version.
🔧 Temporary Workarounds
Unload ad7780 driver
linuxPrevent driver loading if AD7780 hardware is not required
sudo rmmod ad7780
Blacklist ad7780 module
linuxPrevent automatic loading of vulnerable driver
echo 'blacklist ad7780' | sudo tee /etc/modprobe.d/blacklist-ad7780.conf
🧯 If You Can't Patch
- Unload ad7780 driver if not needed for system operation
- Restrict access to systems with AD7780 hardware to trusted users only
🔍 How to Verify
Check if Vulnerable:
Check if ad7780 module is loaded: lsmod | grep ad7780 AND check kernel version against patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits and ad7780 module loads without errors
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- Division by zero errors in kernel logs
- System crash/reboot events
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("division by zero" OR "panic" OR "ad7780")
🔗 References
- https://git.kernel.org/stable/c/022e13518ba6cc1b4fdd291f49e4f57b2d5718e0
- https://git.kernel.org/stable/c/18fb33df1de83a014d7f784089f9b124facc157f
- https://git.kernel.org/stable/c/68e79b848196a0b0ec006009cc69da1f835d1ae8
- https://git.kernel.org/stable/c/7e3a8ea3d1ada7f707de5d9d504774b4191eab66
- https://git.kernel.org/stable/c/afc1e3c00b3f5f0b4f1bc3e974fb9803cb938a90
- https://git.kernel.org/stable/c/c174b53e95adf2eece2afc56cd9798374919f99a
- https://git.kernel.org/stable/c/f25a9f1df1f6738acf1fa05595fb6060a2c08ff1
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html