PT-2025-3654 · Linux+8 · Linux Kernel+8

Ming-Hung Tsai

·

Published

2024-12-05

·

Updated

2025-11-07

·

CVE-2024-57929

CVSS v3.1

7.1

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/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 dm array, where a faulty array block could be released twice in dm array cursor end. This occurs when dm bm read lock() fails due to locking or checksum errors, releasing the faulty block implicitly while leaving an invalid output pointer behind. The caller of dm bm read lock() should not operate on this invalid dm block pointer, or it will lead to undefined results. For example, the dm array cursor incorrectly caches the invalid pointer on reading a faulty array block, causing a double release in dm array cursor end(), then hitting the BUG ON in dm-bufio cache put().
The issue can be reproduced by initializing a cache device, wiping the second array block offline, and then trying to reopen the cache device. Kernel logs show errors such as device-mapper: array: array block check failed and kernel BUG at drivers/md/dm-bufio.c:638. The fix involves setting the cached block pointer to NULL on errors.
Recommendations To resolve the issue, update the Linux kernel to version 6.6.74 or later. As a temporary workaround, consider disabling the dm array cursor end() function until a patch is available. Restrict access to the vulnerable dm bm read lock() function to minimize the risk of exploitation. Avoid using the dm block pointer in the affected API endpoint until the issue is resolved.

Exploit

Fix

NULL Pointer Dereference

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

ALT-PU-2025-12647
BDU:2025-06459
CVE-2024-57929
DLA-4075-1
DLA-4076-1
DSA-5860-1
INFSA-2025_6966
MGASA-2025-0030
MGASA-2025-0032
OESA-2025-1446
OESA-2025-1450
OESA-2025-2632
OESA-2025-2636
OPENSUSE-SU-2025_0428-1
OPENSUSE-SU-2025_0499-1
OPENSUSE-SU-2025_0557-1
RHSA-2025:6966
RHSA-2025_6966
SUSE-SU-2025:0289-1
SUSE-SU-2025:0428-1
SUSE-SU-2025:0499-1
SUSE-SU-2025:0557-1
SUSE-SU-2025:0565-1
SUSE-SU-2025:20165-1
SUSE-SU-2025:20166-1
SUSE-SU-2025:20248-1
SUSE-SU-2025:20249-1
SUSE-SU-2025_0428-1
SUSE-SU-2025_0499-1
SUSE-SU-2025_0557-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

Affected Products

Alt Linux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu