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

Vulnerabilidad en kernel de Linux (CVE-2026-22995)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
23/01/2026
Última modificación:
26/02/2026

Descripción

Se ha resuelto la siguiente vulnerabilidad en el kernel de Linux:<br /> <br /> ublk: corrige uso después de liberación en ublk_partition_scan_work<br /> <br /> Existe una condición de carrera entre el trabajo de escaneo de particiones asíncrono y el desmontaje del dispositivo que puede llevar a un uso después de liberación de ub-&amp;gt;ub_disk:<br /> <br /> 1. ublk_ctrl_start_dev() programa partition_scan_work después de add_disk()<br /> 2. ublk_stop_dev() llama a ublk_stop_dev_unlocked() que hace:<br /> - del_gendisk(ub-&amp;gt;ub_disk)<br /> - ublk_detach_disk() establece ub-&amp;gt;ub_disk = NULL<br /> - put_disk() que puede liberar el disco<br /> 3. El worker ublk_partition_scan_work() entonces desreferencia ub-&amp;gt;ub_disk llevando a UAF<br /> <br /> Corrige esto usando ublk_get_disk()/ublk_put_disk() en el worker para mantener una referencia al disco durante el escaneo de particiones. El spinlock en ublk_get_disk() se sincroniza con ublk_detach_disk() asegurando que el worker o bien obtiene una referencia válida o ve NULL y sale temprano.<br /> <br /> También cambia flush_work() a cancel_work_sync() para evitar ejecutar innecesariamente el trabajo de escaneo de particiones cuando el disco ya está desmontado.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.18.4 (incluyendo) 6.18.6 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*