CVE-2024-42090 pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER

Medium 5.5 Published Updated

A deadlock in the Linux kernel pinctrl subsystem can cause a denial of service when handling probe deferral errors.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-42090?

CVE-2024-42090 is a medium-severity vulnerability in Linux kernel, published on 29 Jul 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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.

Weakness: CWE-667

Which versions are affected by CVE-2024-42090?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-42090?

Apply the vendor's patch.

Is CVE-2024-42090 being exploited?

There is no known exploitation of CVE-2024-42090 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-42090, DEBIAN-CVE-2024-42090, GHSA-pr22-x636-xp32, UBUNTU-CVE-2024-42090.

Is CVE-2024-42090 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free