CVE-2022-50542
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's si470x USB radio driver. When the driver fails to initialize properly, it doesn't properly clean up USB request blocks (URBs), allowing attackers to trigger memory corruption. This affects Linux systems with si470x USB radio hardware or the driver loaded.
💻 Affected Systems
- Linux kernel
⚠️ Risk & Real-World Impact
Worst Case
Kernel memory corruption leading to system crash, privilege escalation, or arbitrary code execution in kernel context.
Likely Case
System instability, kernel panic, or denial of service through system crashes.
If Mitigated
No impact if driver not loaded or hardware not present; limited to local attackers with USB device access.
🎯 Exploit Status
Exploitation requires USB device access and driver loading; discovered via syzbot fuzzing.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commit 0ca298d548461d29615f9a2b1309e8dcf4a352c6 or later stable patches
Vendor Advisory: https://git.kernel.org/stable/c/0ca298d548461d29615f9a2b1309e8dcf4a352c6
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify si470x driver is not loaded if not needed.
🔧 Temporary Workarounds
Disable si470x driver
linuxPrevent loading of vulnerable driver module
echo 'blacklist si470x' >> /etc/modprobe.d/blacklist.conf
rmmod si470x
Restrict USB device access
linuxPrevent unauthorized USB device connections
usbguard generate-policy > /etc/usbguard/rules.conf
systemctl enable --now usbguard
🧯 If You Can't Patch
- Disable si470x kernel module via blacklisting
- Implement USB device access controls and monitoring
🔍 How to Verify
Check if Vulnerable:
Check if si470x module is loaded: lsmod | grep si470x
Check Version:
uname -r
Verify Fix Applied:
Check kernel version is patched and si470x module not loaded or updated
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages
- USB driver initialization failures
- System crashes with si470x in stack trace
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("si470x" OR "use-after-free" OR "general protection fault")
🔗 References
- https://git.kernel.org/stable/c/0ca298d548461d29615f9a2b1309e8dcf4a352c6
- https://git.kernel.org/stable/c/146bd005ebb01ae190c22af050cb98623958c373
- https://git.kernel.org/stable/c/1c6447d0fc68650e51586dde79b5090d9d77f13a
- https://git.kernel.org/stable/c/52f54fe78cca24850a30865037250f63eb3d5bf7
- https://git.kernel.org/stable/c/63648a7bd1a7599bcc2040a6d1792363ae4c2e1b
- https://git.kernel.org/stable/c/6c8aee0c8fcc6dda94315f7908e8fa9bc75abe75
- https://git.kernel.org/stable/c/7d21e0b1b41b21d628bf2afce777727bd4479aa5
- https://git.kernel.org/stable/c/8c6151b8e8dd2d98ad2cd725d26d1e103d989891
- https://git.kernel.org/stable/c/92b0888398e4ba51d93b618a6506781f4e3879c9