CVE-2026-74586
sctp: limpiar new_transport al eliminar un peer
- Publicado
- 22 ago 2026
- Actualizado
- 25 ago 2026
- Asignación de CNA
- Linux
- Evidencia observada
- 9 sept 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 41,7 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sctp: limpiar new_transport al eliminar un peer sctp_process_asconf_param() almacena un transporte peer recién añadido en asoc->new_transport. Después de que todos los parámetros en el chunk ASCONF hayan sido procesados, sctp_sf_do_asconf() utiliza este puntero para enviar un HEARTBEAT al nuevo transporte. Un ASCONF autenticado de un peer SCTP remoto puede añadir un transporte y eliminarlo de nuevo con un parámetro DEL-IP comodín en el mismo chunk. La eliminación con comodín conserva el transporte en el que llegó el ASCONF, pero elimina el transporte recién añadido a través de sctp_assoc_del_nonprimary_peers(). La eliminación no limpia asoc->new_transport, dejándolo apuntando al transporte eliminado. sctp_sf_do_asconf() entonces crea un HEARTBEAT cuyo chunk->transport apunta al transporte eliminado sin mantener una referencia al transporte. Durante el reemplazo de la dirección local, src_out_of_asoc_ok mantiene este HEARTBEAT en control_chunk_list. Después de que el transporte es liberado por RCU, un ASCONF_ACK exitoso para la dirección de reemplazo libera el HEARTBEAT en cola y sctp_outq_select_transport() lee el estado del transporte liberado. El problema se encontró durante una auditoría estática de objetos SCTP. Con un peer autenticado, el reproductor provocó el mismo informe KASAN en 2 de 2 ejecuciones sin parchear en un kernel netdev/main habilitado para KASAN: BUG: KASAN: slab-use-after-free en sctp_outq_select_transport Lectura de tamaño 4 en addr ffff88800b9bd95c por tarea python3/197 Rastreo de llamadas: sctp_outq_select_transport+0x549/0x8b0 [sctp] sctp_outq_flush+0x306/0x2c60 [sctp] sctp_transport_immediate_rtx+0xaf/0x260 [sctp] sctp_process_asconf_ack+0xa48/0xf70 [sctp] Asignado por tarea 197: sctp_transport_new+0x68/0x650 [sctp] sctp_assoc_add_peer+0x258/0x12a0 [sctp] sctp_process_asconf+0x5e9/0x1090 [sctp] Última creación de trabajo potencialmente relacionada: __call_rcu_common.constprop.0+0x77/0xb70 sctp_assoc_del_nonprimary_peers+0x7c/0xd0 [sctp] sctp_process_asconf+0xd9c/0x1090 [sctp] El primer acceso no válido fue una lectura de cuatro bytes de transport->state en net/sctp/outqueue.c:833. El mismo reproductor completó la secuencia completa de ASCONF autenticado y reemplazo de dirección local con este cambio sin un informe KASAN ni un oops. Limpiar new_transport cuando su peer es eliminado, antes de que pueda usarse para crear el HEARTBEAT.
Fuentes
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.