CVE-2022-49077
📋 TL;DR
A Linux kernel vulnerability where mremap() with old_size=0 triggers unnecessary invalidate_range_start/end calls, causing a WARN in KVM's mmu_notifier. This affects Linux systems using KVM virtualization. The issue is triggered by userspace making improper syscalls.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel warning/panic leading to system instability or denial of service for virtualized environments.
Likely Case
Kernel warning messages in logs, potential performance degradation in KVM hosts.
If Mitigated
Minor log noise with no significant operational impact.
🎯 Exploit Status
Exploitation requires local access and ability to trigger specific mremap() syscall conditions. Primarily a stability/DoS issue rather than privilege escalation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple stable kernel versions with commits: 01e67e04c28170c47700c2c226d732bbfedb1ad0, 04bc13dae4a27b8d030843c85ae452bb2f1d9c1f, 2358aa84ef6dafcf544a557caaa6b91afb4a0bd2, 7d659cb1763ff17d1c6ee082fa6feb4267c7a30b, a04cb99c5d4668fe3f5c0e5b6da1cecd34c3f219
Vendor Advisory: https://git.kernel.org/stable/c/01e67e04c28170c47700c2c226d732bbfedb1ad0
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Check distribution-specific security advisories. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Disable KVM if not needed
linuxRemove KVM kernel modules to prevent mmu_notifier warnings
modprobe -r kvm_intel kvm_amd kvm
echo 'blacklist kvm' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Monitor kernel logs for WARN messages related to mmu_notifier
- Restrict user access to prevent unnecessary mremap() syscalls
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with patched versions in git commits. Look for WARN messages in dmesg related to mmu_notifier.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated to include one of the fix commits. Test by attempting to trigger mremap() with old_size=0 and checking logs.
📡 Detection & Monitoring
Log Indicators:
- Kernel WARN messages containing 'mmu_notifier' or 'invalidate_range'
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND "WARN" AND ("mmu_notifier" OR "invalidate_range")
🔗 References
- https://git.kernel.org/stable/c/01e67e04c28170c47700c2c226d732bbfedb1ad0
- https://git.kernel.org/stable/c/04bc13dae4a27b8d030843c85ae452bb2f1d9c1f
- https://git.kernel.org/stable/c/2358aa84ef6dafcf544a557caaa6b91afb4a0bd2
- https://git.kernel.org/stable/c/7d659cb1763ff17d1c6ee082fa6feb4267c7a30b
- https://git.kernel.org/stable/c/a04cb99c5d4668fe3f5c0e5b6da1cecd34c3f219
- https://git.kernel.org/stable/c/a05540f3903bd8295e8c4cd90dd3d416239a115b
- https://git.kernel.org/stable/c/c19d8de4e682ec4b0ea2b04a832cd8cc0be3bb31
- https://git.kernel.org/stable/c/e2c328c2a8f9de8b761bd4025b66c63120c55761
- https://git.kernel.org/stable/c/eeaf28e2a0128147d687237e59d5407ee1b14693