Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en gun de ninenines (CVE-2026-43974)

Gravedad CVSS v4.0:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
08/06/2026
Última modificación:
23/07/2026

Descripción

Una vulnerabilidad de código de estado o valor de retorno inesperado en ninenines gun (módulo gun_http) permite a un servidor HTTP malicioso forzar al cliente a un modo de protocolo sin procesar a través de una respuesta 101 Switching Protocols no solicitada.<br /> <br /> En gun_http:handle_inform/8, cuando se recibe una respuesta 101 Switching Protocols sobre HTTP/1.1, la función verifica solo que el encabezado Upgrade es sintácticamente válido y que la referencia de flujo es una referencia simple(). No verifica si el cliente alguna vez envió un encabezado Upgrade o Connection: upgrade en la solicitud correspondiente. Debido a que esta verificación está ausente, cualquier respuesta 101 (solicitada o no) hace que gun envíe un mensaje gun_upgrade al llamador y transicione toda la conexión a modo de protocolo sin procesar.<br /> <br /> Un servidor HTTP malicioso o comprometido puede enviar una respuesta 101 no solicitada a cualquier solicitud HTTP/1.1, haciendo que el cliente gun abandone el encuadre HTTP para esa conexión. Una vez en modo sin procesar, gun_raw no aplica control de flujo (flow=infinity) y rearma el modo activo del socket después de cada paquete recibido, por lo que el servidor puede inundar al cliente con bytes arbitrarios. Estos se reenvían como mensajes gun_data ilimitados al proceso propietario, agotando su buzón y la memoria BEAM, lo que finalmente provoca el bloqueo de la VM.<br /> <br /> Este problema afecta a gun: desde 2.0.0 antes de 2.4.0.