CVE-2022-50156

7.8 HIGH

📋 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

Products:
  • Linux kernel
Versions: Kernel versions before fixes in stable releases (specific commits listed in references)
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if cp2112 driver is loaded/used; many systems won't have this specific USB-to-SMBus/I2C bridge hardware.

📦 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.

🌐 Internet-Facing: LOW - Requires local access to exploit; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Local attackers (malicious users, compromised accounts) can exploit; risk depends on user privilege levels and driver usage.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

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

linux

Prevent 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

📤 Share & Export