CVE-2024-47141

pinmux: Use sequential access to access desc->pinmux data

State
Published
Severity
5.5 Medium
Published
Jan 11, 2025
Updated
Oct 30, 2026
Reserved
Jan 9, 2025

Read the record on cve.org

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;

} }

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7 to before d25e45dcf8e32062f7935e4ba154869043812ab6Affected
  • 42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7 to before 2da32aed4a97ca1d70fb8b77926f72f30ce5fb4bAffected
  • 42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7 to before c11e2ec9a780f54982a187ee10ffd1b810715c85Affected
  • 42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7 to before 5a3e85c3c397c781393ea5fb2f45b1f60f8a4e6eAffected
LinuxLinux
  • 3.10Affected
  • before 3.10Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.66 through 6.6.*Not affected
  • 6.12.5 through 6.12.*Not affected
  • 6.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.