CVE-2026-72447 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
sctp: mantener el bloqueo del socket al volcar los extremos en sctp_diag
El volcado de extremos SCTP_DIAG recorría las listas de direcciones de los extremos sin adquirir lock_sock(), mientras que esas listas podían cambiar concurrentemente mediante operaciones de socket (por ejemplo, cambios en bindx). Esto crea una condición de carrera donde nla_reserve() cuenta las direcciones bajo protección RCU, pero la copia subsiguiente puede ver menos entradas, lo que potencialmente filtra memoria no inicializada al espacio de usuario.
Se corrige esto:
- Tomando una referencia a cada extremo durante el recorrido por hash - Moviendo las operaciones del socket (lock_sock()) fuera de read_lock_bh() - Serializando el acceso a la lista de direcciones durante el volcado - Reestructurando sctp_for_each_endpoint() para admitir un recorrido basado en reinicios con seguimiento de (net, pos)
Además:
- Se añade WARN_ON_ONCE() para conteos de direcciones inconsistentes - Se corrige el filtrado de idiag_states para los casos LISTEN frente a asociación - Se omite volcar extremos que se están liberando (ep->base.dead) - Se mueve el seguimiento de la posición del volcado al iterador, eliminando cb->args[4] y su comentario para sctp_ep_dump().
- Se actualiza el comentario para cb->args[4] y se elimina el comentario para cb->args[5] no utilizado en sctp_sock_dump().
Nota: El recorrido es basado en reinicios y puede volver a escanear cubetas varias veces, pero esto es aceptable debido al pequeño tamaño de las cubetas y es necesario para admitir devoluciones llamadas seguras para dormir.
Este problema fue reportado por Nico Yip (@_cyeaa_) trabajando con la Iniciativa Zero Day de TrendAI.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.