CVE-2021-47321
📋 TL;DR
A use-after-free vulnerability in the Linux kernel watchdog driver occurs when the driver's remove function calls del_timer() without ensuring the timer handler has finished. This could allow an attacker to execute arbitrary code with kernel privileges. All systems running affected Linux kernel versions are potentially vulnerable.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel privilege escalation leading to full system compromise, arbitrary code execution, or system crash.
Likely Case
System instability, kernel panic, or denial of service due to memory corruption.
If Mitigated
Minimal impact if systems are patched or have proper kernel hardening measures.
🎯 Exploit Status
Exploitation requires local access and ability to trigger the vulnerable code path, making it challenging to weaponize.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patched in stable kernel commits referenced in CVE
Vendor Advisory: https://git.kernel.org/stable/c/1a053c4d716898a53c2e31c574a70ea0c37044a3
Restart Required: Yes
Instructions:
1. Update Linux kernel to a version containing the fix. 2. Check distribution-specific security advisories. 3. Reboot system to load patched kernel.
🔧 Temporary Workarounds
Disable watchdog module
linuxPrevent loading of vulnerable watchdog driver module
echo 'blacklist watchdog' >> /etc/modprobe.d/blacklist.conf
rmmod watchdog
🧯 If You Can't Patch
- Restrict local access to prevent potential privilege escalation
- Implement kernel module signing to prevent unauthorized module loading
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with patched versions in distribution advisories
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version after update matches patched version from vendor
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs
- Watchdog driver loading/unloading events
- System crash dumps
Network Indicators:
- None - local vulnerability
SIEM Query:
Search for kernel panic events or watchdog module activity in system logs
🔗 References
- https://git.kernel.org/stable/c/1a053c4d716898a53c2e31c574a70ea0c37044a3
- https://git.kernel.org/stable/c/4c05dac488a660fe2925c047ecb119e7afaaeb1e
- https://git.kernel.org/stable/c/58606882ad8ec6c39e0f40344b922921ef94ab4d
- https://git.kernel.org/stable/c/66ba9cf929b1c4fabf545bd4c18f6f64e23e46e4
- https://git.kernel.org/stable/c/8bec568d7518b1504a602ed5376bb322e4dbb270
- https://git.kernel.org/stable/c/ca96b8ea5e74956071154bdb456778cc3027e79f
- https://git.kernel.org/stable/c/d0212f095ab56672f6f36aabc605bda205e1e0bf
- https://git.kernel.org/stable/c/db222f1477ad5692cd454709b714949807e5d111
- https://git.kernel.org/stable/c/ecd620e0fb1ff7f78fdb593379b2e6938c99707a
- https://git.kernel.org/stable/c/1a053c4d716898a53c2e31c574a70ea0c37044a3
- https://git.kernel.org/stable/c/4c05dac488a660fe2925c047ecb119e7afaaeb1e
- https://git.kernel.org/stable/c/58606882ad8ec6c39e0f40344b922921ef94ab4d
- https://git.kernel.org/stable/c/66ba9cf929b1c4fabf545bd4c18f6f64e23e46e4
- https://git.kernel.org/stable/c/8bec568d7518b1504a602ed5376bb322e4dbb270
- https://git.kernel.org/stable/c/ca96b8ea5e74956071154bdb456778cc3027e79f
- https://git.kernel.org/stable/c/d0212f095ab56672f6f36aabc605bda205e1e0bf
- https://git.kernel.org/stable/c/db222f1477ad5692cd454709b714949807e5d111
- https://git.kernel.org/stable/c/ecd620e0fb1ff7f78fdb593379b2e6938c99707a