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

Vulnerabilidad en Linux (CVE-2025-71162)

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

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> dmaengine: tegra-adma: Corrección de uso después de liberación<br /> <br /> Existe un error de uso después de liberación en el controlador Tegra ADMA cuando las transmisiones de audio son terminadas, particularmente durante condiciones XRUN. El problema ocurre cuando el búfer DMA es liberado por tegra_adma_terminate_all() antes de que la tarea de finalización de vchan termine de acceder a él.<br /> <br /> La condición de carrera sigue esta secuencia:<br /> <br /> 1. La transferencia DMA se completa, desencadenando una interrupción que programa la tarea de finalización (la tarea aún no se ha ejecutado)<br /> 2. La reproducción de audio se detiene, llamando a tegra_adma_terminate_all() que libera la memoria del búfer DMA a través de kfree()<br /> 3. La tarea programada finalmente se ejecuta, llamando a vchan_complete() que intenta acceder a la memoria ya liberada<br /> <br /> Dado que las tareas pueden ejecutarse en cualquier momento después de ser programadas, no hay garantía de que el búfer permanezca válido cuando se ejecuta vchan_complete().<br /> <br /> Corrija esto mediante la sincronización adecuada de la finalización del canal virtual:<br /> - Llamando a vchan_terminate_vdesc() en tegra_adma_stop() para marcar los descriptores como terminados en lugar de liberar el descriptor.<br /> - Agregue la función de devolución de llamada tegra_adma_synchronize() que llama a vchan_synchronize() que elimina cualquier tarea pendiente y libera cualquier descriptor terminado.<br /> <br /> Registros de fallos:<br /> [ 337.427523] BUG: KASAN: uso después de liberación en vchan_complete+0x124/0x3b0<br /> [ 337.427544] Lectura de tamaño 8 en la dirección ffff000132055428 por la tarea swapper/0/0<br /> <br /> [ 337.427562] Traza de llamada:<br /> [ 337.427564] dump_backtrace+0x0/0x320<br /> [ 337.427571] show_stack+0x20/0x30<br /> [ 337.427575] dump_stack_lvl+0x68/0x84<br /> [ 337.427584] print_address_description.constprop.0+0x74/0x2b8<br /> [ 337.427590] kasan_report+0x1f4/0x210<br /> [ 337.427598] __asan_load8+0xa0/0xd0<br /> [ 337.427603] vchan_complete+0x124/0x3b0<br /> [ 337.427609] tasklet_action_common.constprop.0+0x190/0x1d0<br /> [ 337.427617] tasklet_action+0x30/0x40<br /> [ 337.427623] __do_softirq+0x1a0/0x5c4<br /> [ 337.427628] irq_exit+0x110/0x140<br /> [ 337.427633] handle_domain_irq+0xa4/0xe0<br /> [ 337.427640] gic_handle_irq+0x64/0x160<br /> [ 337.427644] call_on_irq_stack+0x20/0x4c<br /> [ 337.427649] do_interrupt_handler+0x7c/0x90<br /> [ 337.427654] el1_interrupt+0x30/0x80<br /> [ 337.427659] el1h_64_irq_handler+0x18/0x30<br /> [ 337.427663] el1h_64_irq+0x7c/0x80<br /> [ 337.427667] cpuidle_enter_state+0xe4/0x540<br /> [ 337.427674] cpuidle_enter+0x54/0x80<br /> [ 337.427679] do_idle+0x2e0/0x380<br /> [ 337.427685] cpu_startup_entry+0x2c/0x70<br /> [ 337.427690] rest_init+0x114/0x130<br /> [ 337.427695] arch_call_rest_init+0x18/0x24<br /> [ 337.427702] start_kernel+0x380/0x3b4<br /> [ 337.427706] __primary_switched+0xc0/0xc8

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.7 (incluyendo) 5.10.249 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.199 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.162 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.122 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.67 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.18.7 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*