Vulnerabilidad en Yamux (CVE-2024-32984)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-400
Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
01/05/2024
Última modificación:
01/05/2024
Descripción
Yamux es un multiplexor de flujo a través de conexiones ordenadas y confiables como TCP/IP. La implementación Rust del multiplexor de flujo Yamux utiliza un vector para tramas pendientes. Este vector no está limitado en longitud. Cada vez que el protocolo Yamux requiere el envío de una nueva trama, esta trama se agrega a este vector. Esto se puede activar de forma remota de varias maneras, por ejemplo: 1. Abriendo una nueva secuencia de identificación libp2p. Esto hace que el nodo envíe su mensaje de identificación. Por supuesto, también funcionan todos los demás protocolos que provocan el envío de datos. Cuanto mayor sea la respuesta, más datos se pondrán en cola. 2. Envío de una trama Ping de Yamux. Esto hace que una trama Pong se ponga en cola. En circunstancias normales, esta cola de tramas pendientes se agotaría una vez que se envíen a través de la red. Sin embargo, el atacante puede utilizar el mecanismo de ventana de recepción de TCP para evitar que la víctima envíe datos: al no leer desde la conexión TCP, la ventana de recepción nunca aumentará y la víctima no podrá enviar ningún dato nuevo. (Así es como TCP implementa la contrapresión). Una vez que esto suceda, la cola de fotogramas pendientes de Yamux comenzará a crecer indefinidamente. La cola solo se drenará una vez que se cierre la conexión TCP subyacente. Un atacante puede hacer que un nodo remoto se quede sin memoria, lo que provocará que el sistema operativo finalice el proceso correspondiente.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA



