Junglewise Threat Intelligence

CVE-2024-42090: Linux Kernel deadlock in create_pinctrl when handling EPROBE_DEFER

CVE-2024-42090 · Severity: medium · CVSS 5.5 · Published 2024-07-29

Technologies: Linux Kernel. Vendors: Linux.

Executive brief

A vulnerability in the Linux kernel's pin control (pinctrl) subsystem could allow a local user to cause a system deadlock. This component manages how hardware pins are assigned to different functions on a processor. If triggered, the system may become unresponsive, leading to a denial of service.

Technical details

A deadlock exists in the create_pinctrl() function within drivers/pinctrl/core.c. The function acquires the pinctrl_maps_mutex before calling add_setting(). If add_setting() returns -EPROBE_DEFER, the code calls pinctrl_free() while still holding the mutex. Because pinctrl_free() also attempts to acquire the same pinctrl_maps_mutex, a recursive deadlock occurs. This is a local vulnerability (CWE-667) that can be triggered during device driver initialization. Patches have been released across multiple stable kernel branches to release the mutex before calling the free function.

Affected products

  • Linux Linux Kernel 3.10 to 4.19.317, 4.20 to 5.4.279, 5.5 to 5.10.221, 5.11 to 5.15.162, 5.16 to 6.1.97, 6.2 to 6.6.37, 6.7 to 6.9.8

Timeline

  • 2024-06-04: patched: Initial patch submitted by Amazon engineers
  • 2024-07-29: disclosed: CVE published

References

Related threats