CVE-2024-56574

5.5 MEDIUM

📋 TL;DR

A null pointer dereference vulnerability in the Linux kernel's ts2020 media driver allows local attackers to cause a kernel panic or system crash by triggering the ts2020_probe() function without proper platform data. This affects Linux systems with the ts2020 driver loaded, particularly those allowing dynamic i2c device registration via sysfs.

💻 Affected Systems

Products:
  • Linux kernel with ts2020 driver
Versions: Linux kernel versions before fixes in stable releases (specific commits: 4a058b34b52ed3feb1f3ff6fd26aefeeeed20cba, 5a53f97cd5977911850b695add057f9965c1a2d6, 901070571bc191d1d8d7a1379bc5ba9446200999, a2ed3b780f34e4a6403064208bc2c99d1ed85026, b6208d1567f929105011bcdfd738f59a6bdc1088)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when ts2020 driver is loaded and system allows i2c device registration via /sys/bus/i2c/devices/i2c-*/new_device interface.

📦 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

Local denial of service causing kernel panic and system crash, potentially leading to data loss or service disruption.

🟠

Likely Case

System crash requiring reboot when malicious or malformed i2c device registration occurs.

🟢

If Mitigated

No impact if proper access controls prevent unauthorized i2c device registration.

🌐 Internet-Facing: LOW - Requires local access to trigger via sysfs interface.
🏢 Internal Only: MEDIUM - Local users or processes with i2c device registration privileges can trigger the crash.

🎯 Exploit Status

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

Exploitation requires local access and ability to write to i2c device registration sysfs interface. No authentication bypass needed but requires appropriate permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel stable releases containing the fix commits

Vendor Advisory: https://git.kernel.org/stable/c/4a058b34b52ed3feb1f3ff6fd26aefeeeed20cba

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel package. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Restrict i2c device registration

linux

Prevent unauthorized users from registering i2c devices via sysfs

chmod 600 /sys/bus/i2c/devices/i2c-*/new_device
setfacl -m u:root:rw /sys/bus/i2c/devices/i2c-*/new_device

Unload ts2020 driver

linux

Remove vulnerable driver if not needed

rmmod ts2020

🧯 If You Can't Patch

  • Implement strict access controls on /sys/bus/i2c/devices/i2c-*/new_device interface
  • Monitor system logs for i2c device registration attempts and investigate unauthorized activity

🔍 How to Verify

Check if Vulnerable:

Check if ts2020 driver is loaded: lsmod | grep ts2020. Check kernel version: uname -r and compare with patched versions.

Check Version:

uname -r

Verify Fix Applied:

After patching, verify kernel version contains fix commits. Test by attempting to trigger the probe with missing platform data (not recommended in production).

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • KASAN null-ptr-deref reports
  • systemd-udevd errors related to i2c device registration
  • dmesg entries showing ts2020_probe failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("null-ptr-deref" OR "ts2020_probe" OR "KASAN")

🔗 References

📤 Share & Export