CVE Catalog

CVE-2024-42090

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

8th percentile - higher than 8% of all known CVEs

Summary

In the Linux kernel, create_pinctrl() acquires pinctrl_maps_mutex before calling add_setting(). If add_setting() returns -EPROBE_DEFER, create_pinctrl() calls pinctrl_free(), which attempts to acquire the same mutex, leading to a deadlock.

Risk Assessment

The deadlock can cause a process or the entire system to hang, resulting in a denial of service (DoS). This may disrupt systems requiring pin configuration (pinctrl), especially during driver initialization.

Recommendation

Update the Linux kernel to a version containing the fix. The fix releases the mutex before calling pinctrl_free(), eliminating the deadlock.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER In create_pinctrl(), pinctrl_maps_mutex is acquired before calling add_setting(). If add_setting() returns -EPROBE_DEFER, create_pinctrl() calls pinctrl_free(). However, pinctrl_free() attempts to acquire pinctrl_maps_mutex, which is already held by create_pinctrl(), leading to a potential deadlock. This patch resolves the issue by releasing pinctrl_maps_mutex before calling pinctrl_free(), preventing the deadlock. This bug was discovered and resolved using Coverity Static Analysis Security Testing (SAST) by Synopsys, Inc.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS