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

Petr Pavlu

·

Published

2024-05-21

·

Updated

2025-09-29

·

CVE-2024-38601

CVSS v3.1

4.7

Medium

VectorAV:L/AC:H/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.37
Description The issue is related to a race condition between readers and resize checks in the ring buffer of the Linux kernel. The reader code in rb get reader page() swaps a new reader page into the ring buffer, which can lead to a temporary inconsistency in the underlying doubly-linked list. The resize operation in ring buffer resize() can be invoked in parallel and calls rb check pages(), which can detect this inconsistency and stop further tracing. This can cause a denial of service.
The estimated number of potentially affected devices worldwide is not specified. There is no information about real-world incidents where this issue was exploited.
Technical details about exploitation include:
  • The rb get reader page() function swaps a new reader page into the ring buffer by doing cmpxchg on old->list.prev->next to point it to the new page.
  • The ring buffer resize() function can be invoked in parallel and calls rb check pages(), which can detect the inconsistency and stop further tracing.
  • The rb check pages() function checks the consistency of the ring buffer pages.
Recommendations To resolve the issue, update the Linux kernel to version 6.6.37 or later. As a temporary workaround, consider disabling the rb get reader page() function until a patch is available. Restrict access to the vulnerable ring buffer resize() function to minimize the risk of exploitation. Avoid using the rb check pages() function in the affected API endpoint until the issue is resolved.

Exploit

Fix

Race Condition

Buffer Overflow

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

Weakness Enumeration

Related Identifiers

ALSA-2024:6997
ALSA-2025_16880
BDU:2024-07389
CVE-2024-38601
DLA-3840-1
DSA-5730-1
INFSA-2024_6997
MGASA-2024-0263
MGASA-2024-0266
OESA-2024-1765
OESA-2024-1766
OESA-2024-1768
OESA-2024-1793
OPENSUSE-SU-2024_2372-1
OPENSUSE-SU-2024_2394-1
RHSA-2024:6997
RHSA-2024_6997
SUSE-SU-2024:2360-1
SUSE-SU-2024:2372-1
SUSE-SU-2024:2381-1
SUSE-SU-2024:2394-1
SUSE-SU-2024:2561-1
SUSE-SU-2024:2571-1
SUSE-SU-2024:2896-1
SUSE-SU-2024:2939-1
SUSE-SU-2024:2973-1
SUSE-SU-2025:20008-1
SUSE-SU-2025:20028-1
USN-6949-1
USN-6949-2
USN-6951-1
USN-6951-2
USN-6951-3
USN-6951-4
USN-6952-1
USN-6952-2
USN-6953-1
USN-6955-1
USN-6979-1
USN-7007-1
USN-7007-2
USN-7007-3
USN-7009-1
USN-7009-2
USN-7019-1

Affected Products

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