Vulnerabilidad en el módulo http2 de Node.js

Los desarrolladores de la plataforma JavaScript del lado del servidor Node.js han publicado las versiones correctivas 12.22.4, 14.17.4 y 16.6.0, que corrigen parcialmente una vulnerabilidad (CVE-2021-22930) en el módulo http2 (cliente HTTP/2.0) , que permite iniciar un bloqueo del proceso u potencialmente organizar la ejecución de su código en el sistema al acceder a un host controlado por el atacante.

El problema se debe al acceso a la memoria ya liberada al cerrar una conexión después de recibir tramas RST_STREAM (restablecimiento de subprocesos) para subprocesos que realizan operaciones de lectura intensivas que bloquean las escrituras. Si se recibe una trama RST_STREAM sin especificar un código de error, el módulo http2 llama adicionalmente a un procedimiento de limpieza para los datos ya recibidos, desde el cual se llama nuevamente al controlador de cierre para la secuencia ya cerrada, lo que conduce a una doble liberación de las estructuras de datos.

La discusión del parche señala que el problema no se resuelve por completo y, en condiciones ligeramente modificadas, continúa apareciendo en las actualizaciones publicadas. El análisis mostró que la solución solo cubre uno de los casos especiales: cuando el hilo está en modo de lectura, pero no tiene en cuenta otros estados del hilo (lectura y pausa, pausa y algunos tipos de escritura).

Fuente: opennet.ru

Añadir un comentario