CVE-2022-50434

5.5 MEDIUM

📋 TL;DR

This is a memory leak vulnerability in the Linux kernel's block multi-queue (blk-mq) subsystem that occurs when hardware context registration fails during device initialization. It affects Linux systems using block storage devices, potentially leading to kernel memory exhaustion over time. The vulnerability requires local access to trigger.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not explicitly stated in CVE, but patches exist for multiple stable branches
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires block multi-queue (blk-mq) subsystem usage and specific fault conditions during hardware context registration

📦 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

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

🟠

Likely Case

Local users could trigger the memory leak through fault injection or specific device operations, gradually consuming kernel memory and potentially degrading system performance.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to local denial of service rather than privilege escalation or remote compromise.

🌐 Internet-Facing: LOW - This vulnerability requires local access and cannot be exploited remotely.
🏢 Internal Only: MEDIUM - Local users or processes could trigger the memory leak, potentially affecting system stability in multi-user environments.

🎯 Exploit Status

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

Exploitation requires local access and specific fault injection conditions during device initialization

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Multiple stable kernel versions with fixes available (see references)

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

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 kernel version matches patched release.

🔧 Temporary Workarounds

Restrict local access

linux

Limit local user access to systems to reduce attack surface

Monitor kernel memory usage

linux

Implement monitoring for unusual kernel memory consumption patterns

cat /proc/meminfo | grep Slab
slabtop
vmstat -s

🧯 If You Can't Patch

  • Implement strict access controls to limit local user privileges
  • Monitor system logs for repeated device initialization failures and kernel memory exhaustion warnings

🔍 How to Verify

Check if Vulnerable:

Check kernel version against patched releases from your distribution. Vulnerable if using unpatched kernel with blk-mq support.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version matches patched release from your distribution's security updates.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages related to blk_mq_register_hctx
  • Memory allocation failures in kernel logs
  • Repeated device initialization failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("blk_mq_register_hctx" OR "kmalloc_node_trace" OR "memory allocation failure")

🔗 References

📤 Share & Export