CVE-2026-74587 in Linux
Resumen
por VulDB • 2026-08-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
sctp: corregir un use-after-free del bloque ASCONF en caché
addip_last_asconf almacena en caché el bloque ASCONF saliente pendiente. La ruta normal de finalización de ASCONF-ACK libera el bloque y limpia el puntero.
Sin embargo, sctp_asconf_queue_teardown() libera el bloque almacenado en caché sin limpiar addip_last_asconf. Durante la gestión del reinicio del par, sctp_sf_do_dupcook_a() cola SCTP_CMD_PURGE_ASCONF_QUEUE, lo que invoca a sctp_asconf_queue_teardown() mientras la asociación sigue activa y deja un puntero colgante (dangling pointer).
Un ASCONF-ACK autenticado con retraso puede entonces llegar a sctp_sf_do_asconf_ack(), que accede al bloque obsoleto y lo pasa a sctp_process_asconf_ack(), provocando un use-after-free y una segunda liberación.
Limpiar el puntero expone una condición de carrera (race condition) con la caducidad T4. La gestión del reinicio del par cola la detención del temporizador antes de la purga, pero SCTP_CMD_TIMER_STOP utiliza timer_delete(), que no espera a que finalice un callback ya en ejecución en otra CPU. Dicho callback puede llegar a sctp_sf_t4_timer_expire() después de la purga y desreferenciar NULL.
Limpiar addip_last_asconf tras liberar el bloque almacenado en caché, y hacer que sctp_sf_t4_timer_expire() consuma una caducidad T4 obsoleta si no queda ningún ASCONF pendiente.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.