CVE-2022-50463

5.5 MEDIUM

📋 TL;DR

This CVE describes a resource leak vulnerability in the Linux kernel's powerpc/52xx subsystem where the mpc52xx_lpbfifo_probe() function fails to call free_irq() in its error handling path after a failed request_irq(). This creates a memory leak that could lead to system instability or denial of service. The vulnerability affects systems running Linux kernels with PowerPC 52xx architecture support.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific kernel versions with the vulnerable code (check git commits for exact ranges)
Operating Systems: Linux distributions with PowerPC 52xx architecture support
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with PowerPC 52xx architecture. The vulnerability is triggered during specific error conditions in device initialization.

📦 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 exhaust kernel memory resources, leading to system crashes, kernel panics, or denial of service conditions.

🟠

Likely Case

Memory leak accumulates over time during device initialization failures, potentially causing system instability or performance degradation.

🟢

If Mitigated

With proper kernel hardening and memory limits, impact is limited to potential service interruptions during device initialization failures.

🌐 Internet-Facing: LOW - This is a local kernel vulnerability requiring local access or ability to trigger the specific error path.
🏢 Internal Only: MEDIUM - Internal users with local access could potentially trigger the vulnerability through device initialization failures.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger the specific error path in device initialization. No known public exploits.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing the fix commits (0accd460dc7bbe5f55e41a8867c63db9d07b3ec8 and related)

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

Restart Required: Yes

Instructions:

1. Update to a patched Linux kernel version from your distribution vendor. 2. Reboot the system to load the new kernel. 3. Verify the fix is applied by checking kernel version.

🔧 Temporary Workarounds

Disable affected module

linux

Prevent loading of the vulnerable mpc52xx_lpbfifo module if not required

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

🧯 If You Can't Patch

  • Restrict local user access to minimize potential exploitation
  • Implement kernel memory monitoring and alerts for unusual memory consumption

🔍 How to Verify

Check if Vulnerable:

Check if system uses PowerPC 52xx architecture and has the vulnerable kernel version: uname -a and check architecture

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or is newer than vulnerable versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • Memory allocation failures in kernel logs
  • Device initialization failure logs for mpc52xx devices

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("mpc52xx" OR "lpbfifo" OR "request_irq failed")

🔗 References

📤 Share & Export