CVE-2026-31703 in Linuxinformación

Resumen

por VulDB • 2026-05-15

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

writeback: Corregir el uso después de liberar (use-after-free) en inode_switch_wbs_work_fn()

inode_switch_wbs_work_fn() tiene un bucle como el siguiente:

wb_get(new_wb); while (1) {
list = llist_del_all(&new_wb->switch_wbs_ctxs); /* ¿Nada que hacer? */ if (!list) break; ... procesar los elementos ... }

Ahora, la adición de elementos a la lista se parece a:

wb_queue_isw() if (llist_add(&isw->list, &wb->switch_wbs_ctxs)) queue_work(isw_wq, &wb->switch_work);

Dado que inode_switch_wbs_work_fn() realiza un bucle al procesar los elementos isw, puede ocurrir que wb->switch_work esté pendiente mientras wb->switch_wbs_ctxs está vacío. Esto es un problema porque, en ese caso, wb puede ser liberado (no hay elementos isw -> no hay referencia a wb) mientras el trabajo sigue pendiente, lo que provoca problemas de uso después de liberar (use-after-free).

No podemos simplemente corregir esto cancelando el trabajo al liberar wb, porque eso aún podría desencadenar transiciones problemáticas de 0 a 1 en el contador de referencias de wb debido a wb_get() en inode_switch_wbs_work_fn(). Todo podría manejarse con un código más cuidadoso, pero eso parece innecesariamente complejo, así que evitaremos eso hasta que se demuestre que el bucle aporta beneficios prácticos. Simplemente eliminemos el bucle de inode_switch_wbs_work_fn(). De esta manera, cuando wb_queue_isw() encola el trabajo, estamos garantizados de que hemos añadido el primer elemento a wb->switch_wbs_ctxs y nadie va a eliminarlo (y reducir la referencia a wb que contiene) hasta que se ejecute el trabajo encolado.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-03-09

Divulgación

2026-05-01

Moderación

aceptado

Artículo

VDB-360587

CPE

listo

EPSS

0.00015

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!