CVE-2024-46743
📋 TL;DR
This CVE describes an out-of-bounds read vulnerability in the Linux kernel's OpenFirmware interrupt parsing code. When of_irq_parse_raw() is called with a device address smaller than the interrupt parent node, it can read beyond allocated memory boundaries. This affects Linux systems using device tree configurations.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel memory corruption leading to system crash, denial of service, or potential information disclosure of kernel memory contents.
Likely Case
System instability, kernel panic, or denial of service when processing malformed device tree configurations.
If Mitigated
With proper kernel hardening and KASAN enabled, the out-of-bounds read is detected and prevented, causing controlled failure.
🎯 Exploit Status
The vulnerability was discovered through KASAN detection during normal kernel operations, not through active exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patches available in stable kernel trees (commits: 7ead730af11e, 8ff351ea12e9, 9d1e9f0876b0, b739dffa5d57, baaf26723bea)
Vendor Advisory: https://git.kernel.org/stable/c/7ead730af11ee7da107f16fc77995613c58d292d
Restart Required: Yes
Instructions:
1. Update to a patched kernel version from your distribution vendor. 2. Apply the specific kernel patch if compiling from source. 3. Reboot the system to load the new kernel.
🔧 Temporary Workarounds
Disable device tree overlay application
linuxPrevent dynamic device tree modifications that could trigger the vulnerability
echo 0 > /sys/kernel/config/device-tree/overlays/enable
🧯 If You Can't Patch
- Restrict access to device tree configuration and overlay functionality
- Enable kernel hardening features like KASAN to detect and prevent exploitation
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if device tree overlays are being used. Vulnerable if using affected kernel versions with device tree functionality.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated beyond the patched versions. Check that of_irq_parse_raw function has the buffer size validation fix.
📡 Detection & Monitoring
Log Indicators:
- KASAN reports of out-of-bounds reads in of_irq_parse_raw
- Kernel panic messages related to interrupt parsing
- System crashes during device tree operations
Network Indicators:
- None - this is a local kernel vulnerability
SIEM Query:
kernel: "BUG: KASAN: slab-out-of-bounds in of_irq_parse_raw" OR kernel: "of_irq_parse_raw+0x2b8/0x8d0"
🔗 References
- https://git.kernel.org/stable/c/7ead730af11ee7da107f16fc77995613c58d292d
- https://git.kernel.org/stable/c/8ff351ea12e918db1373b915c4c268815929cbe5
- https://git.kernel.org/stable/c/9d1e9f0876b03d74d44513a0ed3ed15ef8f2fed5
- https://git.kernel.org/stable/c/b739dffa5d570b411d4bdf4bb9b8dfd6b7d72305
- https://git.kernel.org/stable/c/baaf26723beab3a04da578d3008be3544f83758f
- https://git.kernel.org/stable/c/bf68acd840b6a5bfd3777e0d5aaa204db6b461a9
- https://git.kernel.org/stable/c/d2a79494d8a5262949736fb2c3ac44d20a51b0d8
- https://git.kernel.org/stable/c/defcaa426ba0bc89ffdafb799d2e50b52f74ffc4
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html