IM
IronMonkey Threat Research

CVE-2024-42090 MEDIUM

Published: 2024-07-29 | Last Modified: 2026-05-12 | Status: Modified

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.

Additional Descriptions (1)

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: pinctrl: soluciona el punto muerto en create_pinctrl() al manejar -EPROBE_DEFER En create_pinctrl(), pinctrl_maps_mutex se adquiere antes de llamar a add_setting(). Si add_setting() devuelve -EPROBE_DEFER, create_pinctrl() llama a pinctrl_free(). Sin embargo, pinctrl_free() intenta adquirir pinctrl_maps_mutex, que ya está en manos de create_pinctrl(), lo que lleva a un posible punto muerto. Este parche resuelve el problema liberando pinctrl_maps_mutex antes de llamar a pinctrl_free(), evitando el punto muerto. Este error fue descubierto y resuelto utilizando Coverity Static Analysis Security Testing (SAST) por Synopsys, Inc.

CVSS Metrics

Base Score: 5.5 (MEDIUM)

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Attack VectorLOCAL
Attack ComplexityLOW
Privileges RequiredLOW
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactNONE
Integrity ImpactNONE
Availability ImpactHIGH

Source: [email protected]

Type: Primary

Exploitability Score: 1.8

Impact Score: 3.6

Weaknesses

Source Type Description
[email protected] Primary
en CWE-667

Affected Products

Vendor Product Version Update Type
linux linux_kernel * <built-in method update of dict object at 0x7fd340a8ff00> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36a618180> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36bacdb80> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36a619980> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd340a8c7c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd340a8c940> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36b352540> Operating System

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

References