LiveActive security incident?Get immediate response
CVE Record

CVE-2025-37901: irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs

In the Linux kernel, the following vulnerability has been resolved: irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs On Qualcomm chipsets not all GPIOs are wakeup capable. Those GPIOs do not have a corresponding MPM pin and should not be handled inside the MPM driver. The IRQ domain hierarchy is always applied, so it's required to explicitly disconnect the hierarchy for those. The pinctrl-msm driver marks these with GPIO_NO_WAKE_IRQ. qcom-pdc has a check for this, but irq-qcom-mpm is currently missing the check. This is causing crashes when setting up interrupts for non-wake GPIOs: root@rb1:~# gpiomon -c gpiochip1 10 irq: IRQ159: trimming hierarchy from :soc@0:interrupt-controller@f200000-1 Unable to handle kernel paging request at virtual address ffff8000a1dc3820 Hardware name: Qualcomm Technologies, Inc. Robotics RB1 (DT) pc : mpm_set_type+0x80/0xcc lr : mpm_set_type+0x5c/0xcc Call trace: mpm_set_type+0x80/0xcc (P) qcom_mpm_set_type+0x64/0x158 irq_chip_set_type_parent+0x20/0x38 msm_gpio_irq_set_type+0x50/0x530 __irq_set_trigger+0x60/0x184 __setup_irq+0x304/0x6bc request_threaded_irq+0xc8/0x19c edge_detector_setup+0x260/0x364 linereq_create+0x420/0x5a8 gpio_ioctl+0x2d4/0x6c0 Fix this by copying the check for GPIO_NO_WAKE_IRQ from qcom-pdc.c, so that MPM is removed entirely from the hierarchy for non-wake GPIOs.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A Linux kernel defect can crash certain Qualcomm-based systems when software configures an interrupt on a GPIO that cannot wake the device. Successful triggering requires local access and low privileges according to the supplied CVSS vector. The demonstrated consequence is a kernel crash, creating availability and operational risk for affected embedded, robotics, mobile, or appliance deployments.

Executive priority

Prioritize exposed Qualcomm-based production devices where local users, applications, or services can manipulate GPIOs. Accelerate remediation for safety-sensitive, high-availability, or remotely administered appliances. Broader Linux fleets should first confirm hardware and driver applicability. There is no supplied evidence of active exploitation, so urgency should be driven by exposure and outage consequences.

Technical view

The Qualcomm MPM interrupt driver failed to remove non-wake GPIOs, marked GPIO_NO_WAKE_IRQ, from the IRQ hierarchy. Interrupt setup could consequently reach mpm_set_type with an invalid mapping and cause a kernel paging fault. The correction applies the existing qcom-pdc-style check and disconnects MPM from the hierarchy. The supplied evidence demonstrates a crash, not data theft or modification.

Likely exposure

Exposure is limited to Linux systems using affected Qualcomm chipsets, the qcom-mpm driver, and non-wake-capable GPIO interrupt handling. Systems without that hardware or driver path are unlikely to be exposed. The supplied version data is ambiguous, so distribution kernel advisories and backport status should determine applicability rather than version strings alone.

Exploitation context

The CVSS 3.1 vector is local, low-complexity, low-privilege, and requires no user interaction. The bundle includes a reproducible crash trace, but no evidence of active exploitation; the CVE is not listed as KEV. Although CVSS assigns high confidentiality, integrity, and availability impacts, the supplied technical description only substantiates a kernel crash.

Researcher notes

The vulnerable path concerns IRQ-domain hierarchy handling for GPIO_NO_WAKE_IRQ pins. Referenced Linux stable commits implement the correction across maintained branches. The flattened affected-version list does not clearly express introduced and fixed boundaries; validate exact branch and distributor backport status. Assess privilege boundaries around GPIO character devices, but treat the provided crash as the only demonstrated impact.

Mitigation direction

  • Install a vendor-supported kernel containing the applicable stable fix or backport.
  • Confirm remediation guidance and fixed package versions with the Linux distribution or device vendor.
  • Until patched, restrict untrusted local access to GPIO interfaces on potentially affected systems.
  • Avoid configuring interrupts for known non-wake GPIOs where operationally feasible.

Validation and detection

  • Inventory Qualcomm-based devices and identify kernels loading or compiling the qcom-mpm driver.
  • Compare kernel packages and vendor backports against the referenced stable commits.
  • Determine whether local users or services can access GPIO interfaces on affected devices.
  • Review kernel logs for paging faults involving mpm_set_type or qcom_mpm_set_type.
  • Do not reproduce the trigger on production systems because it may crash the kernel.
Prepared
Confidence
high
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-37901 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
1ADP providers
7Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2025-37901Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxa6199bb514d8a63f61c2a22c1f912376e14d0fb2, a6199bb514d8a63f61c2a22c1f912376e14d0fb2, a6199bb514d8a63f61c2a22c1f912376e14d0fb2, a6199bb514d8a63f61c2a22c1f912376e14d0fb2, a6199bb514d8a63f61c2a22c1f912376e14d0fb2unaffected
LinuxLinux5.18, 0, 6.1.138, 6.6.90, 6.12.28, 6.14.6, 6.15affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.