CVE-2024-47141: Linux kernel · pinmux: Use sequential access to access desc->pinmux data
Source GCVE Database
Not known to be exploited · CVSS 5.5 Medium.
Data as of 30 Oct 2026, 16:33 UTC
Thin evidence
One scorer or none| CISA-ADP | CVSS 3.1 | 5.5 |
|---|
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 11 Jan 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
Description
In the Linux kernel, the following vulnerability has been resolved: pinmux: Use sequential access to access desc->pinmux data When two client of the same gpio call pinctrl_select_state() for the same functionality, we are seeing NULL pointer issue while accessing desc->mux_owner. Let's say two processes A, B executing in pin_request() for the same pin and process A updates the desc->mux_usecount but not yet updated the desc->mux_owner while process B see the desc->mux_usecount which got updated by A path and further executes strcmp and while accessing desc->mux_owner it crashes with NULL pointer. Serialize the access to mux related setting with a mutex lock. cpu0 (process A) cpu1(process B) pinctrl_select_state() { pinctrl_select_state() { pin_request() { pin_request() { ... .... } else { desc->mux_usecount++; desc->mux_usecount && strcmp(desc->mux_owner, owner)) { if (desc->mux_usecount > 1) return 0; desc->mux_owner = owner; } }
References
- nvd.nist.gov/vuln/detail/CVE-2024-47141 (opens in a new tab)
- git.kernel.org/stable/c/2da32aed4a97ca1d70fb8b77926f72f30ce5fb4b (opens in a new tab)
- git.kernel.org/stable/c/5a3e85c3c397c781393ea5fb2f45b1f60f8a4e6e (opens in a new tab)
- git.kernel.org/stable/c/c11e2ec9a780f54982a187ee10ffd1b810715c85 (opens in a new tab)
- git.kernel.org/stable/c/d25e45dcf8e32062f7935e4ba154869043812ab6 (opens in a new tab)