CVE-2024-26978
📋 TL;DR
A NULL pointer dereference vulnerability in the Linux kernel's max310x serial driver allows local attackers to cause a kernel panic (denial of service) by attempting to instantiate a max14830 device via I2C. This affects systems using the max310x driver with I2C-connected serial devices. Attackers need local access to trigger the vulnerability.
💻 Affected Systems
- Linux kernel with max310x serial 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 disrupting critical operations.
Likely Case
Local denial of service through kernel panic when malicious users trigger the vulnerable code path.
If Mitigated
Minimal impact with proper access controls preventing unauthorized users from accessing I2C device creation interfaces.
🎯 Exploit Status
Exploitation requires local access and ability to write to I2C device creation sysfs interface. Simple command shown in description triggers the vulnerability.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel with commits 0d27056c24efd3d63a03f3edfbcfc4827086b110 or later
Vendor Advisory: https://git.kernel.org/stable/c/0d27056c24efd3d63a03f3edfbcfc4827086b110
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix. 2. Check distribution-specific security advisories. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Restrict I2C device creation access
linuxLimit access to I2C device creation sysfs interfaces to prevent unauthorized users from triggering the vulnerability.
chmod 600 /sys/bus/i2c/devices/i2c-*/new_device
chown root:root /sys/bus/i2c/devices/i2c-*/new_device
Unload max310x driver
linuxRemove the vulnerable driver if not needed for system functionality.
rmmod max310x
🧯 If You Can't Patch
- Restrict access to I2C device creation interfaces to trusted users only
- Monitor for unauthorized attempts to create I2C devices via sysfs
🔍 How to Verify
Check if Vulnerable:
Check if max310x driver is loaded: lsmod | grep max310x. Check kernel version against patched versions.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits or test the vulnerable command: echo max14830 0x60 > /sys/bus/i2c/devices/i2c-*/new_device (in safe environment).
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages mentioning max310x_i2c_probe
- NULL pointer dereference errors in kernel logs
- Failed I2C device instantiation attempts
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("max310x" OR "NULL pointer dereference")
🔗 References
- https://git.kernel.org/stable/c/0d27056c24efd3d63a03f3edfbcfc4827086b110
- https://git.kernel.org/stable/c/12609c76b755dbeb1645c0aacc0f0f4743b2eff3
- https://git.kernel.org/stable/c/2160ad6861c4a21d3fa553d7b2aaec6634a37f8a
- https://git.kernel.org/stable/c/5cd8af02b466e1beeae13e2de3dc58fcc7925e5a
- https://git.kernel.org/stable/c/7d271b798add90c6196539167c019d0817285cf0
- https://git.kernel.org/stable/c/aeca49661fd02fd56fb026768b580ce301b45733
- https://git.kernel.org/stable/c/c45e53c27b78afd6c81fc25608003576f27b5735
- https://git.kernel.org/stable/c/0d27056c24efd3d63a03f3edfbcfc4827086b110
- https://git.kernel.org/stable/c/12609c76b755dbeb1645c0aacc0f0f4743b2eff3
- https://git.kernel.org/stable/c/2160ad6861c4a21d3fa553d7b2aaec6634a37f8a
- https://git.kernel.org/stable/c/5cd8af02b466e1beeae13e2de3dc58fcc7925e5a
- https://git.kernel.org/stable/c/7d271b798add90c6196539167c019d0817285cf0
- https://git.kernel.org/stable/c/aeca49661fd02fd56fb026768b580ce301b45733
- https://git.kernel.org/stable/c/c45e53c27b78afd6c81fc25608003576f27b5735
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html