Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-31541

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
24/04/2026
Última modificación:
28/04/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> tracing: Fix trace_marker copy link list updates<br /> <br /> When the "copy_trace_marker" option is enabled for an instance, anything<br /> written into /sys/kernel/tracing/trace_marker is also copied into that<br /> instances buffer. When the option is set, that instance&amp;#39;s trace_array<br /> descriptor is added to the marker_copies link list. This list is protected<br /> by RCU, as all iterations uses an RCU protected list traversal.<br /> <br /> When the instance is deleted, all the flags that were enabled are cleared.<br /> This also clears the copy_trace_marker flag and removes the trace_array<br /> descriptor from the list.<br /> <br /> The issue is after the flags are called, a direct call to<br /> update_marker_trace() is performed to clear the flag. This function<br /> returns true if the state of the flag changed and false otherwise. If it<br /> returns true here, synchronize_rcu() is called to make sure all readers<br /> see that its removed from the list.<br /> <br /> But since the flag was already cleared, the state does not change and the<br /> synchronization is never called, leaving a possible UAF bug.<br /> <br /> Move the clearing of all flags below the updating of the copy_trace_marker<br /> option which then makes sure the synchronization is performed.<br /> <br /> Also use the flag for checking the state in update_marker_trace() instead<br /> of looking at if the list is empty.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.16 (incluyendo) 6.18.20 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (incluyendo) 6.19.10 (excluyendo)
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*