CVE-2022-50156
📋 TL;DR
A buffer overflow vulnerability in the Linux kernel's cp2112 HID driver allows local attackers to write beyond allocated memory boundaries. This affects systems using the cp2112 USB-to-SMBus/I2C bridge chip driver. Attackers with local access can potentially escalate privileges or crash the kernel.
💻 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 →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 access, leading to full system compromise, data theft, or persistent backdoor installation.
Likely Case
Kernel panic causing system crash/denial-of-service, or limited information disclosure from kernel memory.
If Mitigated
No impact if patched or cp2112 driver not loaded; minimal risk with proper access controls limiting local user privileges.
🎯 Exploit Status
Requires local access and ability to interact with cp2112 device; exploitation depends on driver being loaded and accessible.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commits: 26e427ac85c2b8d0d108cc80b6de34d33e2780c4, 381583845d19cb4bd21c8193449385f3fefa9caf, 3af7d60e9a6c17d6d41c4341f8020511887d372d, 519ff31a6ddd87aa4905bd9bf3b92e8b88801614, 8489a20ac481b08c0391608d81ed3796d373cfdf
Vendor Advisory: https://git.kernel.org/stable/c/381583845d19cb4bd21c8193449385f3fefa9caf
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 cp2112 driver is updated.
🔧 Temporary Workarounds
Unload cp2112 kernel module
linuxPrevent driver loading if hardware not needed
sudo rmmod hid_cp2112
echo 'blacklist hid_cp2112' | sudo tee /etc/modprobe.d/blacklist-cp2112.conf
🧯 If You Can't Patch
- Restrict local user access to systems with cp2112 hardware
- Implement strict privilege separation and limit sudo/root access
🔍 How to Verify
Check if Vulnerable:
Check if cp2112 module is loaded: lsmod | grep cp2112 AND check kernel version against patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits AND cp2112 module version matches patched driver
📡 Detection & Monitoring
Log Indicators:
- Kernel oops/panic messages
- System crashes after cp2112 device access
Network Indicators:
- None - local exploitation only
SIEM Query:
kernel: "Oops" OR "general protection fault" AND process:"cp2112" OR module:"hid_cp2112"
🔗 References
- https://git.kernel.org/stable/c/26e427ac85c2b8d0d108cc80b6de34d33e2780c4
- https://git.kernel.org/stable/c/381583845d19cb4bd21c8193449385f3fefa9caf
- https://git.kernel.org/stable/c/3af7d60e9a6c17d6d41c4341f8020511887d372d
- https://git.kernel.org/stable/c/519ff31a6ddd87aa4905bd9bf3b92e8b88801614
- https://git.kernel.org/stable/c/8489a20ac481b08c0391608d81ed3796d373cfdf
- https://git.kernel.org/stable/c/e7028944e61014ae915e7fb74963d3835f2f761a
- https://git.kernel.org/stable/c/ebda3d6b004bb6127a66a616524a2de152302ca7