CVE-2025-37901

5.5 MEDIUM

📋 TL;DR

A missing check in the Linux kernel's Qualcomm MPM driver causes kernel crashes when handling interrupts for non-wakeup GPIO pins. This affects Linux systems running on Qualcomm chipsets where GPIOs are configured without wakeup capability. The vulnerability leads to denial of service through kernel panics.

💻 Affected Systems

Products:
  • Linux kernel with Qualcomm MPM driver
Versions: Linux kernel versions before the fix commits (specific versions depend on distribution backports)
Operating Systems: Linux distributions running on Qualcomm chipsets
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using Qualcomm chipsets with MPM interrupt controller and non-wakeup GPIO configurations.

📦 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

Kernel panic leading to system crash and denial of service, requiring physical or remote reboot to restore functionality.

🟠

Likely Case

System crash when userspace applications attempt to monitor or configure GPIO pins that lack wakeup capability, causing service disruption.

🟢

If Mitigated

No impact if the vulnerable driver is not used or if affected GPIOs are not accessed.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger GPIO operations through existing interfaces.
🏢 Internal Only: MEDIUM - Local users or processes with GPIO access can trigger crashes, affecting system stability.

🎯 Exploit Status

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

Exploitation requires ability to trigger GPIO operations, typically through local access or compromised applications with GPIO permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 38a05c0b87833f5b188ae43b428b1f792df2b384 or later

Vendor Advisory: https://git.kernel.org/stable/c/38a05c0b87833f5b188ae43b428b1f792df2b384

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commit. 2. For distributions: Apply security updates from your vendor. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable GPIO monitoring

linux

Prevent applications from accessing GPIOs that could trigger the vulnerability

# Restrict GPIO access permissions
chmod 640 /dev/gpiochip*
# Monitor for GPIO access attempts

🧯 If You Can't Patch

  • Restrict user access to GPIO devices and monitoring tools
  • Implement monitoring for kernel panic events and GPIO access patterns

🔍 How to Verify

Check if Vulnerable:

Check if system uses Qualcomm chipset and has MPM driver loaded: 'lsmod | grep mpm' and 'dmesg | grep -i qualcomm'

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commit: 'uname -r' and verify with distribution patch notes

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages mentioning 'mpm_set_type' or 'Unable to handle kernel paging request'
  • GPIO access errors in system logs
  • System crash/reboot events

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("mpm_set_type" OR "kernel panic" OR "GPIO" AND "crash")

🔗 References

📤 Share & Export