CVE-2022-50264

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's socfpga clock driver. When the socfpga_gate_init() function fails, it doesn't properly free allocated memory for socfpga_clk and ops structures, leading to gradual memory exhaustion. This affects Linux systems using the Altera/Intel SoCFPGA platform.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions with socfpga clock driver before the fix commits
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using Altera/Intel SoCFPGA platform hardware. The vulnerability is in driver code that may not be loaded on all systems.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sustained exploitation could lead to kernel memory exhaustion, causing system instability, denial of service, or potential kernel panic/crash.

🟠

Likely Case

Gradual memory consumption over time leading to performance degradation and potential system instability requiring reboot.

🟢

If Mitigated

Minimal impact with proper monitoring and memory limits in place.

🌐 Internet-Facing: LOW - Requires local access or kernel-level compromise to trigger the vulnerable code path.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger the memory leak, affecting system stability.

🎯 Exploit Status

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

Exploitation requires triggering the error path in socfpga_gate_init() function, which may require specific hardware conditions or driver initialization failures.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing the fix commits: 0b8ba891ad4d1ef6bfa4c72efc83f9f9f855f68b, 3e8fd1d0fab4d5c9a50d225dddc207deac12f13a, 6f2198914fb9aac286a6ff6cf09b23752141e04f, 9de42116fc4540f6a1ceb51fd037b734ab7be12e, 9f9bb9f5ba9fd501a90f255eb746b4cf2ceeaaae

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

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager to update kernel package. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable socfpga clock driver

linux

Prevent loading of vulnerable driver module if not required

echo 'blacklist clk-socfpga' > /etc/modprobe.d/blacklist-socfpga.conf
rmmod clk_socfpga

🧯 If You Can't Patch

  • Monitor system memory usage and implement alerting for abnormal memory consumption
  • Implement kernel memory limits using cgroups to contain potential memory exhaustion

🔍 How to Verify

Check if Vulnerable:

Check if socfpga clock driver is loaded: lsmod | grep socfpga AND check kernel version against patched versions

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits and socfpga driver loads without memory leak in error conditions

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom-killer messages
  • Memory allocation failures in dmesg
  • System instability logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("Out of memory" OR "oom-killer" OR "slab allocation failure")

🔗 References

📤 Share & Export