CVE-2022-50281
📋 TL;DR
This CVE describes a memory leak vulnerability in the Linux kernel's MIPS SGI-IP27 platform driver. When the bridge_platform_create() function fails during device registration, it doesn't properly release allocated platform device resources, causing kernel memory exhaustion over time. This affects systems running Linux kernels with MIPS SGI-IP27 support.
💻 Affected Systems
- Linux kernel
📦 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 potential kernel panic/crash.
Likely Case
Memory leak gradually consumes kernel resources, potentially leading to system performance degradation or instability over time.
If Mitigated
With proper monitoring and memory limits, impact is limited to potential performance issues rather than complete system failure.
🎯 Exploit Status
Requires local access and ability to trigger the specific error condition in bridge_platform_create(). Not trivial to exploit.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing the git commits referenced in CVE description
Vendor Advisory: https://git.kernel.org/stable/c/11bec9cba4de06b3c0e9e4041453c2caaa1cbec1
Restart Required: Yes
Instructions:
1. Update to patched kernel version from your distribution vendor. 2. For custom kernels, apply the git commits referenced in CVE. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Disable SGI-IP27 bridge support
linuxIf not using SGI Origin/Onyx hardware, disable the affected kernel module
modprobe -r sgi_w1
echo 'blacklist sgi_w1' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Implement kernel memory monitoring to detect abnormal memory consumption
- Restrict local user access to systems with vulnerable hardware
🔍 How to Verify
Check if Vulnerable:
Check kernel version and architecture: 'uname -r' and 'uname -m'. If MIPS architecture and kernel version matches affected range, system may be vulnerable.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated beyond vulnerable versions and check that memory leak doesn't occur during bridge device operations.
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer messages
- Memory allocation failures in kernel logs
- System instability after bridge device operations
Network Indicators:
- None - this is a local kernel vulnerability
SIEM Query:
Search for kernel panic logs, memory allocation failures, or system crash events on MIPS SGI-IP27 systems
🔗 References
- https://git.kernel.org/stable/c/11bec9cba4de06b3c0e9e4041453c2caaa1cbec1
- https://git.kernel.org/stable/c/48025893b3e31b917ad654d28d23fff66681cac4
- https://git.kernel.org/stable/c/93296e7ab774230b7c36541dead10b6da39b650f
- https://git.kernel.org/stable/c/d7ac29e60d0ff71e9e414af595b8c92800f7fa90
- https://git.kernel.org/stable/c/da2aecef866b476438d02c662507a0e4e818da9d