CVE-2022-49505
📋 TL;DR
This is a use-after-free vulnerability in the Linux kernel's NFC subsystem where the rfkill pointer is not properly nulled out after unregistration, allowing potential memory corruption. It affects Linux systems with NFC functionality enabled and can lead to kernel crashes or privilege escalation. The vulnerability requires local access or ability to trigger NFC operations.
💻 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
Local privilege escalation to kernel-level execution, potentially leading to full system compromise or persistent backdoor installation.
Likely Case
Kernel panic or system crash causing denial of service, requiring reboot to restore functionality.
If Mitigated
Limited impact if NFC functionality is disabled or unused, with potential for system instability if triggered.
🎯 Exploit Status
Exploitation requires local access and ability to trigger NFC operations. The KASAN trace suggests it was found through fuzzing.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in stable kernel releases via commits: 1632be63862f, 1b0e81416a24, 2a1b5110c95e, 4a68938f43b7, 4f5d71930f41
Vendor Advisory: https://git.kernel.org/stable/c/1632be63862f183cd5cf1cc094e698e6ec005dfd
Restart Required: Yes
Instructions:
1. Update to a patched kernel version from your distribution vendor. 2. For custom kernels, apply the fix commit that NULLs out dev->rfkill in nfc_unregister_device(). 3. Reboot the system to load the new kernel.
🔧 Temporary Workarounds
Disable NFC functionality
LinuxRemove or disable NFC kernel module if not needed
modprobe -r nfc
echo 'blacklist nfc' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Disable NFC functionality at kernel compile time by setting CONFIG_NFC=n
- Implement strict access controls to prevent unauthorized users from triggering NFC operations
🔍 How to Verify
Check if Vulnerable:
Check if NFC module is loaded: lsmod | grep nfc. Check kernel version against distribution advisories.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is patched: uname -r. Check if fix commit is present in kernel source.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- KASAN use-after-free reports in dmesg
- NFC-related crash logs
Network Indicators:
- None - this is a local vulnerability
SIEM Query:
source="kernel" AND ("KASAN: use-after-free" OR "nfc" AND "panic" OR "Oops")
🔗 References
- https://git.kernel.org/stable/c/1632be63862f183cd5cf1cc094e698e6ec005dfd
- https://git.kernel.org/stable/c/1b0e81416a24d6e9b8c2341e22e8bf48f8b8bfc9
- https://git.kernel.org/stable/c/2a1b5110c95e4d49c8c3906270dfcde680a5a7be
- https://git.kernel.org/stable/c/4a68938f43b7c2663e4c90bb9bbe29ac8b9a42a0
- https://git.kernel.org/stable/c/4f5d71930f41be78557f9714393179025baacd65
- https://git.kernel.org/stable/c/6abfaca8711803d0d7cc8c0fac1070a88509d463
- https://git.kernel.org/stable/c/a8e03bcad52dc9afabf650fdbad84f739cec9efa
- https://git.kernel.org/stable/c/f81270125b50532624400063281e6611ecd61ddf
- https://git.kernel.org/stable/c/fbf9c4c714d3cdeb98b6a18e4d057f931cad1d81