Node.js Brotli Decoder Bug Could Allow Remote Code Execution in All Supported Versions
The Hacker News · 22 oct, 09:47

Node.js publicó parches de seguridad el 21 de octubre para corregir 10 vulnerabilidades, siendo la más grave un desbordamiento de búfer en el decodificador Brotli integrado que podría permitir ejecución remota de código en todas las versiones soportadas (22.x, 24.x y 26.x). Aunque el proyecto califica la falla como de ejecución remota de código, la prueba de concepto pública publicada el 22 de octubre solo logró ejecutar código en una compilación deliberadamente debilitada; en compilaciones estándar solo provoca un fallo y lectura limitada de memoria.
El fallo CVE-2026-111497 es un desbordamiento de búfer fuera de límites en el decodificador Brotli, activado por entrada comprimida malformada. Node.js incluye su propia copia de la biblioteca de compresión de Google y ejecuta este código cada vez que descomprime datos Brotli, ya sea directamente a través del módulo node:zlib o automáticamente cuando fetch() recibe respuestas con compresión Brotli. La aplicación está expuesta cuando descomprime datos Brotli controlados por un atacante, como cuerpos de solicitud o respuestas obtenidas de otros servidores.
Las versiones corregidas son 22.23.4, 24.22.1 y 26.12.1. El mismo parche fue incorporado desde el proyecto Brotli upstream (versiones 1.2.1, 1.1.0 y 1.0.10), por lo que otros programas que incluyen Brotli pueden necesitar la misma actualización. Las versiones 20.x y anteriores han llegado al fin de vida y no recibirán el parche. Las actualizaciones también bloquearon ocho claves de certificados intermediarios de la autoridad de certificación india eMudhra que fueron reportadas como comprometidas, y actualizaron dependencias agrupadas como undici, c-ares, OpenSSL y SQLite para incluir correcciones de vulnerabilidades conocidas públicamente.
Puntos clave
- Actualiza Node.js a 22.23.4, 24.22.1 o 26.12.1 para corregir el desbordamiento de búfer en Brotli
- Las versiones 20.x y anteriores han alcanzado el fin de vida y deben migrarse a una línea soportada
- No hay mitigación temporal en Node.js; la actualización es el único remedio para el flaw de Brotli
- Se bloquearon ocho claves de certificados comprometidas de eMudhra; otros software que incluye Brotli necesitará el mismo parche