CVE-2021-47522
📋 TL;DR
This CVE describes a null pointer dereference vulnerability in the Linux kernel's HID bigbenff driver. When emulating the device through uhid, the driver may attempt to access a null report_field pointer, potentially causing a kernel panic or system crash. This affects Linux systems using the bigbenff HID driver.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially causing data loss or system instability.
Likely Case
System crash or kernel panic when specific HID device emulation conditions are met, resulting in denial of service.
If Mitigated
Minimal impact with proper kernel hardening and privilege separation; system may log warnings but remain stable.
🎯 Exploit Status
Exploitation requires specific conditions with uhid device emulation; local access likely needed.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commits: 58f15f5ae7786c824868f3a7e093859b74669ce7, 6272b17001e6fdcf7b4a16206287010a1523fa6e, 8e0ceff632f48175ec7fb4706129c55ca8a7c7bd, 918aa1ef104d286d16b9e7ef139a463ac7a296f0
Vendor Advisory: https://git.kernel.org/stable/c/58f15f5ae7786c824868f3a7e093859b74669ce7
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Check kernel commit includes fixes. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable bigbenff module
linuxPrevent loading of vulnerable HID driver module
echo 'blacklist bigbenff' >> /etc/modprobe.d/blacklist.conf
rmmod bigbenff
Restrict uhid access
linuxLimit access to uhid device to prevent emulation
chmod 600 /dev/uhid
setfacl -m u:root:rw /dev/uhid
🧯 If You Can't Patch
- Implement strict access controls to prevent unauthorized users from accessing uhid devices
- Monitor system logs for kernel panic events and implement alerting for potential exploitation attempts
🔍 How to Verify
Check if Vulnerable:
Check if bigbenff module is loaded: lsmod | grep bigbenff. Check kernel version against patched commits.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: grep -r '58f15f5ae7786c824868f3a7e093859b74669ce7' /usr/src/linux/. Ensure bigbenff module functions without crashes.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- Oops messages in dmesg
- System crash logs
Network Indicators:
- None - local vulnerability
SIEM Query:
source="kernel" AND ("panic" OR "Oops" OR "null pointer dereference") AND "bigbenff"
🔗 References
- https://git.kernel.org/stable/c/58f15f5ae7786c824868f3a7e093859b74669ce7
- https://git.kernel.org/stable/c/6272b17001e6fdcf7b4a16206287010a1523fa6e
- https://git.kernel.org/stable/c/8e0ceff632f48175ec7fb4706129c55ca8a7c7bd
- https://git.kernel.org/stable/c/918aa1ef104d286d16b9e7ef139a463ac7a296f0
- https://git.kernel.org/stable/c/58f15f5ae7786c824868f3a7e093859b74669ce7
- https://git.kernel.org/stable/c/6272b17001e6fdcf7b4a16206287010a1523fa6e
- https://git.kernel.org/stable/c/8e0ceff632f48175ec7fb4706129c55ca8a7c7bd
- https://git.kernel.org/stable/c/918aa1ef104d286d16b9e7ef139a463ac7a296f0