CVE-2024-47141

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

Medium · published January 11, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
6.6
In the wild
Unconfirmed
What it is

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;

} }

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00174 · 6.6th percentile
Published
2025-01-11T12:25Z
EPSS history
Timeline
  • 11 JAN 12:25Z
    pinmux: Use sequential access to access desc->pinmux data
    cvelistv5