CVE-2024-49986
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's x86-android-tablets driver. When platform_device_register() fails during device initialization, the driver incorrectly accesses already-freed memory, potentially leading to kernel crashes or arbitrary code execution. This affects Linux systems with the x86-android-tablets driver loaded, typically on x86 Android tablet devices or systems emulating such hardware.
💻 Affected Systems
- Linux kernel with x86-android-tablets 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash, or local privilege escalation allowing attackers to execute arbitrary code with kernel privileges.
Likely Case
System instability or kernel panic causing denial of service when the driver encounters registration errors during device initialization.
If Mitigated
Minimal impact if the driver isn't loaded or if proper kernel hardening prevents exploitation.
🎯 Exploit Status
Exploitation requires local access and triggering the specific error condition in platform_device_register(). The vulnerability was discovered through code review.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 2fae3129c0c08e72b1fe93e61fd8fd203252094a, 73a98cf79e4dbfa3d0c363e826c65aae089b313c, aac871e493fc8809e60209d9899b1af07e9dbfc8, ba0b09a2f327319e252d8f3032019b958c0a5cd9, f08adc5177bd4343df09033f62ab562c09ba7f7d
Vendor Advisory: https://git.kernel.org/stable/c/2fae3129c0c08e72b1fe93e61fd8fd203252094a
Restart Required: Yes
Instructions:
1. Update to a Linux kernel version containing the fix commits. 2. For distributions: Apply vendor kernel updates. 3. Reboot the system to load the patched kernel.
🔧 Temporary Workarounds
Disable x86-android-tablets driver
linuxPrevent loading of the vulnerable driver module
echo 'blacklist x86-android-tablets' >> /etc/modprobe.d/blacklist.conf
rmmod x86-android-tablets
🧯 If You Can't Patch
- Ensure the x86-android-tablets driver is not loaded on production systems
- Implement strict access controls to prevent local users from triggering driver initialization errors
🔍 How to Verify
Check if Vulnerable:
Check if x86-android-tablets driver is loaded: lsmod | grep x86-android-tablets
Check Version:
uname -r
Verify Fix Applied:
Check kernel version includes fix commits: uname -r and verify with distribution patch notes
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- OOPs (kernel crashes) related to x86-android-tablets driver
- Failed platform device registration errors
Network Indicators:
- None - this is a local vulnerability
SIEM Query:
Search for kernel panic or OOPs events with x86-android-tablets in system logs
🔗 References
- https://git.kernel.org/stable/c/2fae3129c0c08e72b1fe93e61fd8fd203252094a
- https://git.kernel.org/stable/c/73a98cf79e4dbfa3d0c363e826c65aae089b313c
- https://git.kernel.org/stable/c/aac871e493fc8809e60209d9899b1af07e9dbfc8
- https://git.kernel.org/stable/c/ba0b09a2f327319e252d8f3032019b958c0a5cd9
- https://git.kernel.org/stable/c/f08adc5177bd4343df09033f62ab562c09ba7f7d
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html