CVE-2022-49171
📋 TL;DR
This vulnerability in the Linux kernel's ext4 filesystem allows unprivileged local users to trigger a kernel panic (denial of service) by exploiting a race condition when dirtying pages without proper filesystem notification. It affects Linux systems using ext4 filesystem and can be triggered via process_vm_writev(2) system call. The vulnerability was discovered by Syzbot and affects multiple Linux kernel versions.
💻 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 panic leading to system crash and denial of service, potentially causing data loss or corruption in ext4 filesystem operations.
Likely Case
Local unprivileged user triggers kernel panic causing system reboot or crash, resulting in temporary denial of service.
If Mitigated
System issues warning instead of BUG, marks page as clean, preventing crash but potentially losing data integrity.
🎯 Exploit Status
Syzbot discovered reliable trigger via process_vm_writev(2). Exploit requires local access but no special privileges.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple stable kernel versions with commits: 0d3a6926f7e8be3c897fa46216ce13b119a9f56a, 330d0e44fc5a47c27df958ecdd4693a3cb1d8b81, 343117559ef41e992e326f7a92da1a8f254dfa8c, 5a016c053f426a73752c3b41b60b497b58694d48, 5db60e76edf5680ff1f3a7221036fc44b308f146
Vendor Advisory: https://git.kernel.org/stable/c/0d3a6926f7e8be3c897fa46216ce13b119a9f56a
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution's repositories. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable process_vm_writev syscall
linuxTemporarily disable the process_vm_writev system call that can trigger the vulnerability
echo 2 > /proc/sys/kernel/yama/ptrace_scope
sysctl -w kernel.yama.ptrace_scope=2
Use alternative filesystem
linuxUse filesystems other than ext4 for critical partitions
🧯 If You Can't Patch
- Restrict local user access to prevent unprivileged users from exploiting the vulnerability
- Implement strict access controls and monitor for suspicious process_vm_writev usage
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if ext4 filesystem is in use. Vulnerable if using unpatched kernel with ext4.
Check Version:
uname -r
Verify Fix Applied:
Check kernel version matches patched version from your distribution. Verify system doesn't crash when testing process_vm_writev operations.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/messages or dmesg
- System crash/reboot logs
- Process_vm_writev system call failures
Network Indicators:
- None - this is a local vulnerability
SIEM Query:
source="kernel" AND ("BUG" OR "panic" OR "Oops") AND "ext4"
🔗 References
- https://git.kernel.org/stable/c/0d3a6926f7e8be3c897fa46216ce13b119a9f56a
- https://git.kernel.org/stable/c/330d0e44fc5a47c27df958ecdd4693a3cb1d8b81
- https://git.kernel.org/stable/c/343117559ef41e992e326f7a92da1a8f254dfa8c
- https://git.kernel.org/stable/c/5a016c053f426a73752c3b41b60b497b58694d48
- https://git.kernel.org/stable/c/5db60e76edf5680ff1f3a7221036fc44b308f146
- https://git.kernel.org/stable/c/677c9d30e8487bee6c8e3b034070319d98f6e203
- https://git.kernel.org/stable/c/a0856764dc1276ad2dc7891288c2e9246bf11a37
- https://git.kernel.org/stable/c/cc5095747edfb054ca2068d01af20be3fcc3634f
- https://git.kernel.org/stable/c/d666dfaa571465a19f014534a214c255ea33f301