CVE-2024-49871

5.5 MEDIUM

📋 TL;DR

This CVE describes a NULL pointer dereference vulnerability in the Linux kernel's adp5589-keys input driver. If the driver's probe function fails early during device initialization, a registered cleanup action attempts to access uninitialized device data, causing a kernel panic. This affects systems using the adp5589 keypad controller with vulnerable kernel versions.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific vulnerable kernel versions containing the bug (check git commits for exact ranges)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if the adp5589-keys driver is loaded (requires adp5589 hardware or module loading). Most systems won't have this hardware by default.

📦 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 access to restart affected devices.

🟠

Likely Case

System crash during device initialization when the adp5589 driver fails to probe properly, causing temporary denial of service.

🟢

If Mitigated

No impact if the driver probe succeeds normally or if the system doesn't use adp5589 hardware.

🌐 Internet-Facing: LOW - This is a local kernel driver issue requiring physical or local access to trigger.
🏢 Internal Only: MEDIUM - Could affect embedded systems, IoT devices, or servers with adp5589 hardware where driver initialization might fail.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires triggering the driver probe failure scenario, which is specific to hardware initialization conditions. No known public exploits.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with the fix commits: 122b160561f6429701a0559a0f39b0ae309488c6, 34e304cc53ae5d3c8e3f08b41dd11e0d4f3e01ed, 4449fedb8a710043fc0925409eba844c192d4337, 7c3f04223aaf82489472d614c6decee5a1ce8d7f, 9a38791ee79bd17d225c15a6d1479448be127a59

Vendor Advisory: https://git.kernel.org/stable/c/122b160561f6429701a0559a0f39b0ae309488c6

Restart Required: Yes

Instructions:

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

🔧 Temporary Workarounds

Blacklist adp5589 module

linux

Prevent loading of the vulnerable driver module

echo 'blacklist adp5589' >> /etc/modprobe.d/blacklist.conf
update-initramfs -u

Disable module autoload

linux

Prevent automatic loading of the driver

echo 'install adp5589 /bin/false' >> /etc/modprobe.d/disable.conf

🧯 If You Can't Patch

  • Ensure systems don't use adp5589 hardware
  • Monitor kernel logs for adp5589 driver loading or crash events

🔍 How to Verify

Check if Vulnerable:

Check if adp5589 module is loaded: lsmod | grep adp5589. Check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits. Test by attempting to load adp5589 module on test system.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages mentioning adp5589
  • NULL pointer dereference in kernel logs
  • Driver probe failure messages

Network Indicators:

  • None - this is a local driver issue

SIEM Query:

source="kernel" AND ("adp5589" OR "NULL pointer dereference")

🔗 References

📤 Share & Export