PT-2025-3614

CVE-2024-57889

·

Published

2024-12-09

·

Updated

2026-10-21

Description by

CVSS 3.1
5.5
Medium
MetricsAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions Linux kernel versions prior to 6.6.74
Description A vulnerability in the Linux kernel has been resolved, specifically in the pinctrl-mcp23s08 driver. The issue occurs when a device uses the MCP23xxx IO expander to receive IRQs, which can cause a sleeping function to be called from an invalid context. This happens because the regmap in the driver uses a mutex for protection from concurrent accesses, but the system tries to lock the mutex while holding a spinlock. The vulnerability was observed while experimenting with a touchscreen driver that used the MCP23017 IO expander. The estimated number of potentially affected devices is not specified.
Recommendations To resolve the issue, update to Linux kernel version 6.6.74 or later. As a temporary workaround, consider disabling the mcp23s08 irq set type() function until a patch is available. Restrict access to the mcp23s08 driver to minimize the risk of exploitation. Avoid using the regmap update bits base() function in the affected API endpoint until the issue is resolved. Additionally, apply the patch that adds locking in mcp pinconf get/set() and disables internal locking in the regmap config.
Exploitability
Exploit
Fix
Impacts
Researchers
Vendors
Affected products
Weakness enumeration
Related identifiers
ALT-PU-2025-12647
CLSA-2025-1744624441
CLSA-2025-1746479711
DLA-4075-1
DLA-4076-1
MGASA-2025-0030
MGASA-2025-0032
OESA-2025-2409
OESA-2025-2410
OPENSUSE-SU-2025_0847-1
OPENSUSE-SU-2025_0856-1
OPENSUSE-SU-2025_0955-1
SUSE-SU-2025:0784-1
SUSE-SU-2025:0847-1
SUSE-SU-2025_0847-1
SUSE-SU-2025:0856-1
SUSE-SU-2025_0856-1
SUSE-SU-2025:0955-1
SUSE-SU-2025_0955-1
SUSE-SU-2025:20190-1
SUSE-SU-2025:20192-1
SUSE-SU-2025:20260-1
SUSE-SU-2025:20270-1
USN-7379-1
USN-7379-2
USN-7380-1
USN-7381-1
USN-7382-1
USN-7387-1
USN-7387-2
USN-7387-3
USN-7388-1
USN-7389-1
USN-7390-1
USN-7391-1
USN-7392-1
USN-7392-2
USN-7392-3
USN-7392-4
USN-7393-1
USN-7401-1
USN-7407-1
USN-7413-1
USN-7421-1
USN-7458-1
USN-7459-1
USN-7459-2
USN-7463-1
USN-7513-1
USN-7513-2
USN-7513-3
USN-7513-4
USN-7513-5
USN-7514-1
USN-7515-1
USN-7515-2
USN-7522-1
USN-7523-1
USN-7524-1
USN-7539-1
USN-7540-1
Found an issue in the description? Have something to add? Feel free to write us 👾