CVE-2022-48948

7.8 HIGH

📋 TL;DR

This CVE describes a buffer overflow vulnerability in the Linux kernel's USB gadget UVC driver. It allows attackers to write 4 bytes beyond the allocated buffer during USB control transfers, potentially leading to memory corruption. Systems using the UVC gadget driver (commonly for USB webcam emulation) are affected.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when UVC gadget driver is enabled and in use. Many systems don't use this functionality by default.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel memory corruption leading to privilege escalation, denial of service, or arbitrary code execution in kernel context.

🟠

Likely Case

Kernel panic or system crash causing denial of service.

🟢

If Mitigated

Limited impact if UVC gadget functionality is disabled or not in use.

🌐 Internet-Facing: LOW - Requires physical USB connection or USB-over-IP with specific gadget configuration.
🏢 Internal Only: MEDIUM - Could be exploited by malicious USB devices or compromised internal systems with USB gadget access.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Requires ability to send malicious USB control transfers to the UVC gadget interface.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits 06fd17ee92c8f1704c7e54ec0fd50ae0542a49a5 or later

Vendor Advisory: https://git.kernel.org/stable/c/06fd17ee92c8f1704c7e54ec0fd50ae0542a49a5

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. For RHEL/CentOS: yum update kernel. 3. For Ubuntu/Debian: apt update && apt upgrade linux-image-*. 4. Reboot system.

🔧 Temporary Workarounds

Disable UVC gadget module

linux

Prevent loading of the vulnerable UVC gadget driver

echo 'blacklist g_webcam' >> /etc/modprobe.d/blacklist.conf
rmmod g_webcam

🧯 If You Can't Patch

  • Disable USB gadget functionality if not required
  • Restrict physical USB access and monitor for unauthorized USB devices

🔍 How to Verify

Check if Vulnerable:

Check if UVC gadget module is loaded: lsmod | grep g_webcam. If loaded and kernel version is unpatched, system is vulnerable.

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commit: grep -q '06fd17ee92c8f1704c7e54ec0fd50ae0542a49a5' /proc/version_signature || uname -r

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • System crashes when using USB gadget functions

Network Indicators:

  • Unusual USB-over-IP traffic patterns

SIEM Query:

source="kernel" AND ("Oops" OR "general protection fault") AND "uvc"

🔗 References

📤 Share & Export