CVE-2024-45028
📋 TL;DR
This CVE describes a NULL pointer dereference vulnerability in the Linux kernel's MMC (MultiMediaCard) test module. When the kernel fails to allocate high memory pages during MMC testing, it attempts to free a NULL pointer, causing a kernel panic or system crash. This affects Linux systems with the mmc_test module loaded, typically during development or testing scenarios.
💻 Affected Systems
- Linux kernel
📦 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 →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 causing data loss or service disruption.
Likely Case
System crash or kernel panic when the mmc_test module is actively used with memory allocation failures.
If Mitigated
No impact if mmc_test module is not loaded or memory allocation succeeds normally.
🎯 Exploit Status
Requires ability to trigger mmc_test operations and cause memory allocation failures, typically needs local access and kernel module interaction.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patches available in stable kernel trees (see references for specific commits)
Vendor Advisory: https://git.kernel.org/stable/c/2b507b03991f44dfb202fc2a82c9874d1b1f0c06
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from official distribution repositories. 2. Rebuild kernel if using custom kernel. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable mmc_test module
linuxPrevent loading of the vulnerable mmc_test kernel module
echo 'blacklist mmc_test' >> /etc/modprobe.d/blacklist.conf
rmmod mmc_test
🧯 If You Can't Patch
- Ensure mmc_test module is not loaded in production systems
- Monitor system logs for kernel panic events and memory allocation failures
🔍 How to Verify
Check if Vulnerable:
Check if mmc_test module is loaded: lsmod | grep mmc_test
Check Version:
uname -r
Verify Fix Applied:
Check kernel version after update and verify mmc_test module functions without crashes
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- NULL pointer dereference errors in kernel logs
- MMC test module failure logs
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("NULL pointer dereference" OR "kernel panic" OR "mmc_test")
🔗 References
- https://git.kernel.org/stable/c/2b507b03991f44dfb202fc2a82c9874d1b1f0c06
- https://git.kernel.org/stable/c/3b4e76ceae5b5a46c968bd952f551ce173809f63
- https://git.kernel.org/stable/c/9b9ba386d7bfdbc38445932c90fa9444c0524bea
- https://git.kernel.org/stable/c/a1e627af32ed60713941cbfc8075d44cad07f6dd
- https://git.kernel.org/stable/c/cac2815f49d343b2f0acc4973d2c14918ac3ab0c
- https://git.kernel.org/stable/c/e40515582141a9e7c84b269be699c05236a499a6
- https://git.kernel.org/stable/c/e97be13a9f51284da450dd2a592e3fa87b49cdc9
- https://git.kernel.org/stable/c/ecb15b8ca12c0cbdab81e307e9795214d8b90890
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html