CVE-2022-49502

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's RGA (Raster Graphic Acceleration) driver. When the rga_probe function fails during device initialization, it doesn't properly free allocated memory for the m2m_dev structure. This affects Linux systems using the RGA driver, potentially leading to resource exhaustion over time.

💻 Affected Systems

Products:
  • Linux kernel with RGA driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions with vulnerable kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if RGA driver is loaded/used; many systems may not have this hardware or driver enabled.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Repeated exploitation could lead to kernel memory exhaustion, causing system instability, denial of service, or kernel panic.

🟠

Likely Case

Memory leak during device initialization failures, gradually consuming kernel memory until system becomes unstable or requires reboot.

🟢

If Mitigated

Minimal impact with proper monitoring and regular reboots; memory leak only occurs during specific initialization failures.

🌐 Internet-Facing: LOW - Requires local access or kernel module loading; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Could be triggered by local users or processes attempting to initialize RGA hardware; requires kernel module loading capability.

🎯 Exploit Status

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

Requires ability to trigger rga_probe failure; typically requires local access and kernel module loading privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing the fix commits listed in references

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

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify RGA driver is not leaking memory.

🔧 Temporary Workarounds

Disable RGA driver

linux

Prevent loading of vulnerable RGA kernel module

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

🧯 If You Can't Patch

  • Monitor kernel memory usage for unusual increases
  • Implement regular system reboots to clear accumulated memory leaks

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if RGA module is loaded: 'uname -r' and 'lsmod | grep rga'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits and monitor for memory leaks after RGA operations

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • Out of memory errors in dmesg
  • Failed module initialization logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("out of memory" OR "kernel panic" OR "rga")

🔗 References

📤 Share & Export