Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-52924 — Análisis técnico de CVE-2026-52924, un use-after-free crítico en el manejo de cookies obsoletas de SCTP en el kernel de Linux, que incluye la causa raíz, el flujo de ataque, la corrección y los métodos de detección. | Kitploit
Herramientas/GitHubGitHub/eliot-code/cve-2026-52924
Análisis de VulnerabilidadesExplotaciónPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubeliot-code/cve-2026-52924

CVE-2026-52924

Análisis técnico de CVE-2026-52924, un use-after-free crítico en el manejo de cookies obsoletas de SCTP en el kernel de Linux, que incluye la causa raíz, el flujo de ataque, la corrección y los métodos de detección.

Ver Repositorio
hace 10h 22mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-52924: Use-After-Free en SCTP en el Manejo de Cookies Obsoletas

Resumen de la Vulnerabilidad

ID CVE: CVE-2026-52924
Gravedad: CRÍTICA (CVSS 9.8)
Componente: Kernel de Linux - SCTP (Protocolo de Transmisión de Control de Flujo)
Tipo: Use-After-Free (CWE-416, CWE-825)
Publicado: 2026-06-24
Estado: Corregido

Versiones Afectadas

  • Kernel de Linux < 5.10.259
  • Kernel de Linux < 5.15.210
  • Kernel de Linux < 6.1.176
  • Kernel de Linux < 6.6.143
  • Kernel de Linux < 6.12.94
  • Kernel de Linux < 6.18.36
  • Kernel de Linux < 7.0.13
  • Kernel de Linux < 7.1

Detalles Técnicos

Causa Raíz

La vulnerabilidad ocurre en el manejo de paquetes COOKIE-ECHO obsoletos por parte de la máquina de estados de SCTP. El problema implica una limpieza inadecuada de la cola de flujo saliente cuando se revierte una asociación.

Flujo del Ataque

  1. Operación Normal: La asociación pasa al estado COOKIE_ECHOED
  2. Datos de Usuario en Cola: La aplicación envía datos, que se ponen en cola para su transmisión
  3. Error de Cookie Obsoleta: El par remoto envía un error de Cookie Obsoleta
  4. Reversión Activada: La asociación revierte de COOKIE_ECHOED → COOKIE_WAIT
  5. Estado del Flujo Actualizado: sctp_stream_update() libera la tabla de flujos antigua e instala una nueva
  6. Puntero Inválido: stream->out_curr sigue apuntando a la entrada sctp_stream_out liberada
  7. Acceso de Desencolado: Cuando el planificador intenta desencolar (FCFS, RR, PRIO), accede a out_curr->ext
  8. Use-After-Free: Acceder a memoria liberada → fallo del kernel mediante detección KASAN

Flujo de Código Problemático

root@kitploit:~
sctp_sf_do_5_2_6_stale():
  ├─ Recibe error de Cookie Obsoleta
  ├─ Revierte el estado de la asociación
  └─ Llama a sctp_stream_update()
       ├─ Libera la tabla de flujos antigua
       ├─ Instala la nueva tabla de flujos
       └─ ERROR: stream->out_curr NO se invalida ❌

Más tarde, al desencolar:
  sctp_sched_fcfs_dequeue():
    └─ Accede a stream->out_curr->ext  (MEMORIA LIBERADA) 💥

Ejemplo de Fallo

root@kitploit:~
BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)

Call trace:
  sctp_sched_fcfs_dequeue+0x13a/0x140
  sctp_outq_flush+0x1603/0x33e0
  sctp_do_sm+0x31c9/0x5d30
  sctp_assoc_bh_rcv+0x392/0x6f0
  sctp_inq_push+0x1db/0x270
  sctp_rcv+0x138d/0x3c10

Por Qué Simplemente Actualizar out_curr Es Insuficiente

Una corrección ingenua podría ser simplemente limpiar stream->out_curr:

root@kitploit:~
// CORRECCIÓN INSUFICIENTE ❌
stream->out_curr = NULL;

Problema: La cola de salida aún contiene:

  • Fragmentos de datos en cola que hacen referencia al estado de flujo antiguo
  • Entradas de la cola de retransmisión que apuntan a flujos antiguos
  • Fragmentos de control agrupados con metadatos de flujo antiguos

Estas referencias obsoletas seguirán causando use-after-free al ser accedidas.

La Corrección Correcta

Solución: Purgar completamente la cola de salida de la asociación durante el manejo de cookies obsoletas.

root@kitploit:~
// CORRECCIÓN CORRECTA ✓
sctp_outq_free(&asoc->outqueue);

Esto garantiza:

  1. Todos los datos de transmisión pendientes se descartan
  2. Todas las entradas de la cola de retransmisión se liberan
  3. Los punteros en caché del planificador (out_curr, etc.) se invalidan
  4. El estado del flujo se puede reconstruir de forma segura durante el reinicio de COOKIE_WAIT
  5. No quedan referencias colgantes a entradas de flujo liberadas

Ubicación de la Implementación

Archivo: net/sctp/sm_statefuns.c
Función: sctp_sf_do_5_2_6_stale()
Adición: Llamar a sctp_outq_free(&asoc->outqueue) antes de sctp_stream_update()

root@kitploit:~
enum sctp_disposition sctp_sf_do_5_2_6_stale(...)
{
    // ... código existente ...
    
    // Purgar la cola de salida antes de reconstruir el estado del flujo
    sctp_outq_free(&asoc->outqueue);
    
    // Ahora es seguro actualizar el flujo
    sctp_stream_update(&asoc->stream, &asoc->c.h_init_tag);
    
    // ... resto de la función ...
}

Análisis de Impacto

Factores de Gravedad (CVSS 9.8)

  • Vector de Ataque: Red (CVSS:3.1/AV:N)
  • Complejidad del Ataque: Baja (CVSS:3.1/AC:L)
  • Privilegios Requeridos: Ninguno (CVSS:3.1/PR:N)
  • Interacción del Usuario: Ninguna (CVSS:3.1/UI:N)
  • Alcance: Sin cambios (CVSS:3.1/S:U)
  • Impacto de Confidencialidad: Alto (CVSS:3.1/C:H)
  • Impacto de Integridad: Alto (CVSS:3.1/I:H)
  • Impacto de Disponibilidad: Alto (CVSS:3.1/A:H)

Requisitos de Explotación

  1. Acceso de red al sistema objetivo (puerto SCTP abierto)
  2. Capacidad de enviar paquetes SCTP para establecer conexión
  3. Enviar un error de Cookie Obsoleta en un momento específico (estado COOKIE_ECHOED)
  4. Activar la operación de desencolado del planificador

Escenarios de Ataque

  1. Denegación de Servicio: Provocar fallos del kernel repetidamente → DoS
  2. Divulgación de Información: Leer memoria del kernel mediante UAF
  3. Escalada de Privilegios: Potencial mediante manipulación de memoria
  4. Ejecución Remota de Código: Posible con una explotación de corrupción de memoria

Métodos de Detección

Detección KASAN (En Tiempo de Ejecución)

root@kitploit:~
# Habilitar KASAN en la configuración del kernel
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y

# La salida en tiempo de ejecución muestra:
BUG: KASAN: slab-use-after-free

Análisis Estático

root@kitploit:~
# Buscar accesos inseguros a stream->out_curr sin validación
grep -r "out_curr->ext" net/sctp/
grep -r "out_curr->" net/sctp/sched*.c

Detección de Red

  • Monitorear paquetes de error SCTP de Cookie Obsoleta (Tipo 3, Código 1)
  • Rastrear patrones de reversión de conexiones
  • Alertar sobre transiciones rápidas COOKIE_ECHOED → COOKIE_WAIT

Estrategias de Mitigación

Mitigaciones Temporales (Hasta Aplicar el Parche)

  1. Deshabilitar SCTP: Eliminar el módulo SCTP o bloquear los puertos SCTP (132, 132 UDP)

    root@kitploit:~
    echo "install sctp /bin/true" >> /etc/modprobe.d/sctp-disable.conf
    
  2. Reglas de Firewall: Bloquear el tráfico SCTP en el perímetro de la red

    root@kitploit:~
    iptables -A INPUT -p sctp -j DROP
    
  3. Versión del Kernel: Actualizar a versiones parcheadas

    • 5.10.259+
    • 5.15.210+
    • 6.1.176+
    • 6.6.143+
    • 6.12.94+
    • 6.18.36+
    • 7.0.13+
    • 7.1+ (última)

Corrección Permanente

Aplicar el parche del kernel que llama a sctp_outq_free() en sctp_sf_do_5_2_6_stale().

Referencias

  • CWE-416: Uso Después de Liberación
  • CWE-825: Desreferencia de Puntero Expirado
  • Calculadora CVSS: https://www.first.org/cvss/calculator/3.1
  • Entrada NVD: CVE-2026-52924
  • Seguridad del Kernel de Linux: https://www.kernel.org/doc/html/latest/security/

Recomendaciones de Pruebas

Pruebas Unitarias

  1. Verificar que sctp_outq_free() invalida correctamente out_curr
  2. Verificar que todos los datos en cola se liberan durante outq_free
  3. Verificar que la cola de retransmisión se limpia
  4. Probar el comportamiento del planificador después de la purga de outq

Pruebas de Integración

  1. Flujo normal de recuperación de cookie obsoleta
  2. Datos en tránsito cuando se recibe la cookie obsoleta
  3. Múltiples cookies obsoletas rápidas
  4. Diferentes planificadores SCTP (FCFS, RR, PRIO)

Pruebas de Fuzzing

  1. Enviar paquetes SCTP con errores de cookie obsoleta
  2. Variar el momento de la inyección del error
  3. Variar la cantidad de datos en tránsito
  4. Probar con condiciones de alta carga

Cronología

  • 2026-06-24: Vulnerabilidad divulgada públicamente
  • Estado: Corrección disponible
  • Puntuación EPSS: 0.3% (percentil 27)
    • Baja probabilidad de explotación
    • Requiere condiciones de red específicas
    • Explotaciones del mundo real limitadas indexadas

Autor: Elliot Versión del Documento: 1.0
Última Actualización: 2026-09-07
Clasificación: Información Pública

Descargar herramienta