CVE-2022-50247

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's xHCI-MTK USB controller driver. When the driver fails to set a wakeup interrupt, it doesn't properly release the shared host controller data structure, causing a memory leak. This affects systems using MediaTek xHCI USB controllers with Linux kernel versions containing the vulnerable code.

💻 Affected Systems

Products:
  • Linux kernel with xhci-mtk driver
Versions: Linux kernel versions containing the vulnerable xhci-mtk driver code prior to fixes in stable releases
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with MediaTek xHCI USB controllers; requires the xhci-mtk driver to be loaded and used.

📦 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

Sustained exploitation could lead to kernel memory exhaustion, causing system instability, crashes, or denial of service through resource depletion.

🟠

Likely Case

Intermittent memory leaks that gradually consume kernel memory over time, potentially leading to performance degradation or system instability after prolonged operation.

🟢

If Mitigated

Minimal impact with proper monitoring and restart policies; memory leaks would be cleared on system reboot.

🌐 Internet-Facing: LOW - This is a local kernel driver vulnerability requiring physical or local USB device access, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Requires local access or USB device interaction; could be exploited by malicious USB devices or local users with sufficient privileges.

🎯 Exploit Status

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

Exploitation requires triggering the specific failure condition in the wakeup interrupt setup, likely through USB device manipulation or driver stress testing.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel stable releases containing commits: 03a88b0bafbe3f548729d970d8366f48718c9b19, 05680a91ae60ddd0319e6618456f0883b5dd765d, c8e7463844888dc8344bbb9cbad88cdce9cb8077, ffb14aac2658873050671198543b9b8194149c14

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

Restart Required: No

Instructions:

1. Update Linux kernel to patched version from official distribution repositories. 2. For custom kernels, apply the relevant git commits to xhci-mtk driver. 3. Rebuild and install kernel if compiling from source.

🔧 Temporary Workarounds

Disable xhci-mtk driver

Linux

Prevent loading of the vulnerable driver if MediaTek USB controller is not required

echo 'blacklist xhci-mtk' >> /etc/modprobe.d/blacklist.conf
update-initramfs -u
reboot

🧯 If You Can't Patch

  • Monitor kernel memory usage for unusual increases and schedule regular reboots
  • Restrict physical USB device access to trusted users only

🔍 How to Verify

Check if Vulnerable:

Check if xhci-mtk module is loaded: lsmod | grep xhci_mtk. Check kernel version against patched releases.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fixes: uname -r. Check git commit history for xhci-mtk driver fixes.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom-killer messages
  • Memory allocation failures in dmesg
  • USB controller error messages

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("xhci-mtk" OR "memory allocation failure" OR "oom-killer")

🔗 References

📤 Share & Export