PT-2024-31355 · Linux+7 · Linux Kernel+7

Max Kellermann

·

Published

2024-08-12

·

Updated

2025-09-29

·

CVE-2024-45000

CVSS v3.1

5.5

Medium

VectorAV: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.50
Description A NULL pointer dereference bug has been identified in the Linux kernel due to a data race. This issue occurs when the fscache cookie state machine() function is slow and still running while another process invokes fscache unuse cookie(), leading to a fscache cookie lru do one() call that sets the FSCACHE COOKIE DO LRU DISCARD flag. This flag is then picked up by fscache cookie state machine(), which withdraws the cookie via cachefiles withdraw cookie() and clears cookie->cache priv. At the same time, another process may invoke cachefiles prepare write(), finding a NULL pointer in the code line struct cachefiles object *object = cachefiles cres object(cres), causing a crash. The n accesses counter is non-zero during cachefiles prepare write() (via fscache begin operation()), and the cookie must not be withdrawn until this counter drops to zero. The counter is checked by fscache cookie state machine() before switching to certain states, but not for FSCACHE COOKIE STATE LRU DISCARDING. This patch adds the missing check, ensuring that with a non-zero access counter, the function returns and the next fscache end cookie access() call will queue another fscache cookie state machine() call to handle the still-pending FSCACHE COOKIE DO LRU DISCARD.
Recommendations To resolve this issue, update the Linux kernel to version 6.6.50 or later. As a temporary workaround, consider disabling the cachefiles prepare write() function until a patch is available. However, this may have performance implications and should be carefully evaluated before implementation.

Exploit

Fix

NULL Pointer Dereference

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

Weakness Enumeration

Related Identifiers

ALSA-2025_12746
ALSA-2025_12752
ALSA-2025_12753
ALSA-2025_16880
ALT-PU-2024-11855
ALT-PU-2024-11863
ALT-PU-2024-12053
ALT-PU-2024-13121
ALT-PU-2024-13260
ALT-PU-2024-13979
ALT-PU-2024-14046
AZL-48700
BDU:2025-01963
CVE-2024-45000
DLA-4008-1
DSA-5782-1
INFSA-2025_6966
MGASA-2024-0309
MGASA-2024-0310
OESA-2024-2181
OPENSUSE-SU-2024_3551-1
OPENSUSE-SU-2024_3561-1
OPENSUSE-SU-2024_3564-1
OPENSUSE-SU-2024_3587-1
OPENSUSE-SU-2024_3592-1
RHSA-2025:6966
RHSA-2025_6966
SUSE-SU-2024:3551-1
SUSE-SU-2024:3553-1
SUSE-SU-2024:3561-1
SUSE-SU-2024:3564-1
SUSE-SU-2024:3569-1
SUSE-SU-2024:3587-1
SUSE-SU-2024:3592-1
SUSE-SU-2025:20073-1
SUSE-SU-2025:20077-1
USN-7154-1
USN-7154-2
USN-7155-1
USN-7156-1
USN-7196-1

Affected Products

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