CVE-2024-47141

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-47141
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-47141.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-47141
Downstream
Related
Published
2025-01-11T13:15:21Z
Modified
2025-08-09T20:01:26Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

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 pinctrlselectstate() for the same functionality, we are seeing NULL pointer issue while accessing desc->mux_owner.

Let's say two processes A, B executing in pinrequest() for the same pin and process A updates the desc->muxusecount but not yet updated the desc->muxowner while process B see the desc->muxusecount 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)

pinctrlselectstate() { pinctrlselectstate() { pinrequest() { pinrequest() { ... .... } else { desc->muxusecount++; desc->muxusecount && strcmp(desc->mux_owner, owner)) {

     if (desc->mux_usecount > 1)
           return 0;
     desc->mux_owner = owner;

} }

References

Affected packages