CVE-2025-38632: pinmux: fix race causing mux_owner NULL with active mux_usecount
In the Linux kernel, the following vulnerability has been resolved:
pinmux: fix race causing mux_owner NULL with active mux_usecount
commit 5a3e85c3c397 ("pinmux: Use sequential access to access
desc->pinmux data") tried to address the issue when two client of the
same gpio calls pinctrl_select_state() for the same functionality, was
resulting in NULL pointer issue while accessing desc->mux_owner.
However, issue was not completely fixed due to the way it was handled
and it can still result in the same NULL pointer.
The issue occurs due to the following interleaving:
cpu0 (process A) cpu1 (process B)
pin_request() { pin_free() {
mutex_lock()
desc->mux_usecount--; //becomes 0
..
mutex_unlock()
mutex_lock(desc->mux)
desc->mux_usecount++; // becomes 1
desc->mux_owner = owner;
mutex_unlock(desc->mux)
mutex_lock(desc->mux)
desc->mux_owner = NULL;
mutex_unlock(desc->mux)
This sequence leads to a state where the pin appears to be in use
(`mux_usecount == 1`) but has no owner (`mux_owner == NULL`), which can
cause NULL pointer on next pin_request on the same pin.
Ensure that updates to mux_usecount and mux_owner are performed
atomically under the same lock. Only clear mux_owner when mux_usecount
reaches zero and no new owner has been assigned.
Security readout for executives and security teams
Plain-English summary
CVE-2025-38632 is a Linux kernel race condition in pinmux handling. In rare timing conditions, the kernel can think a pin is in use while its owner is unset, causing a NULL pointer fault on later use. The public record does not provide CVSS, confirmed exploitation, or broad product impact details.
Executive priority
Treat this as a targeted kernel stability risk, not a confirmed internet-scale emergency. Prioritize patch validation for Linux-based appliances, embedded platforms, and systems where GPIO or pin control is operationally important. Business urgency depends on whether affected kernel builds are present.
Technical view
The flaw is in Linux kernel pinmux state updates. mux_usecount and mux_owner could be changed under separate locking, allowing mux_usecount to become active while mux_owner is NULL. A later pin_request on the same pin may dereference that NULL owner. The fix makes those updates atomic under the same lock.
Likely exposure
Exposure is most relevant to Linux systems using affected kernel builds and pinctrl, pinmux, or GPIO functionality. The source lists Linux as affected but provides no CPEs, distro mapping, or device-specific product list. Validate against vendor kernel packages and the referenced stable commits.
Exploitation context
No active exploitation is stated in the provided sources, and KEV is false. The described failure mode is a kernel NULL pointer issue triggered by a race. The bundle does not establish remote reachability, privilege requirements, exploit reliability, or real-world attacks.
Researcher notes
Evidence supports a concurrency bug in pinmux ownership accounting. The key validation point is whether mux_usecount and mux_owner updates are protected by the same lock in the deployed kernel. Public data lacks CVSS, CWE, CPEs, exploit status, and distro-specific package names.
Mitigation direction
Update to a vendor-supported kernel containing the referenced stable fixes.
Check distribution or device vendor advisories for backported fixes.
Prioritize systems that actively use GPIO, pinctrl, or pinmux drivers.
Plan maintenance windows for appliances or embedded Linux devices.
Avoid claiming remediation complete until the fix commit is confirmed.
Validation and detection
Inventory kernel versions across Linux fleets and embedded devices.
Compare vendor kernel changelogs against the referenced stable commits.
Identify systems using pinctrl, pinmux, or GPIO-related drivers.
Review crash logs for NULL pointer faults in pinmux paths.
Track vendor advisories for corrected package versions.
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-38632 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.
0CVSS vectors
3Timeline events
0ADP providers
6Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Aug 22, 2025, 16:00 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.