Node2Shell es el nombre de CVE-2026-111497, una falla de severidad alta en el decodificador Brotli que trae Node.js. Datos comprimidos maliciosos pueden escribir fuera de la memoria reservada y llegar a ejecutar código en el servidor. La solución es actualizar a Node.js 22.23.4, 24.22.1 o 26.12.1, publicadas el 21 de octubre de 2026.
Anatomía del ataque descrito en el artículo.
¿Qué es Node2Shell?
Es una escritura fuera de límites en el decodificador Brotli incluido en Node.js: una entrada comprimida mal formada hace que el decodificador escriba más allá del final de un búfer de memoria. La falla está en la librería Brotli (versiones 1.0.3 a 1.2.0), corregida en Brotli 1.0.10, 1.1.1 y 1.2.1, así que también puede afectar a otro software que la incluya. Node.js la clasifica como de severidad alta y la corrigió dentro de su actualización de seguridad del 21 de octubre. La reportaron investigadores de OpenAI Codex Security.
¿Qué aplicaciones Node.js están expuestas a CVE-2026-111497?
No toda aplicación en Node.js: un servidor HTTP de Node.js no descomprime Brotli por sí solo. Está expuesta la que descomprime datos Brotli que controla un atacante, por dos caminos:
¿Qué versiones de Node.js corrigen Node2Shell?
¿Se está explotando Node2Shell?
Al 22 de octubre no se había reportado explotación real, pero desde ese día hay una prueba de concepto pública. Imperva reprodujo la ejecución de código en Node.js 24.22.0 por los dos caminos (Express y fetch), aunque no en todos los intentos, y la versión 24.22.1 rechaza la misma entrada. Otros análisis indican que, en compilaciones estándar, la prueba logra sobre todo tumbar el proceso y leer una parte limitada de la memoria. Con código público, la ventana para parchear se acorta.
¿Qué debe hacer hoy su empresa?
¿Cómo protege Rescue WAF mientras actualiza Node.js?
Un firewall de aplicaciones web no corrige Node.js, pero reduce la exposición del camino más directo, las peticiones entrantes. En Rescue WAF se configura por sitio, como parche virtual:
El límite es claro: el WAF ve lo que entra, no las respuestas que su aplicación descarga con fetch() desde otros servidores. Ese camino solo lo cierra la actualización de Node.js.
¿Qué aporta Rescue SOC frente a Node2Shell?
Conozca Rescue SOC. Si sospecha que un servidor ya fue comprometido, active nuestra respuesta ante incidentes 24/7; después de actualizar, un pentest confirma que la corrección quedó aplicada. Esta semana también se publicó PHP2Shell, la falla crítica de PHP: si usa ambos lenguajes, revise los dos.
Preguntas frecuentes sobre Node2Shell
¿Qué es Node2Shell?
Es el nombre de CVE-2026-111497, una falla de severidad alta en el decodificador Brotli que trae Node.js: datos comprimidos maliciosos escriben fuera de la memoria reservada y pueden llegar a ejecutar código. Se corrigió el 21 de octubre de 2026.
¿Mi aplicación Node.js es vulnerable a CVE-2026-111497?
Solo si descomprime datos Brotli que controla un atacante: cuerpos de petición con Content-Encoding: br (por ejemplo con Express 5 o body-parser 2), respuestas que descarga con fetch() de servidores que no controla, o código que use brotliDecompress con datos no confiables. Un servidor HTTP de Node.js sin eso no se ve afectado.
¿A qué versión de Node.js debo actualizar?
A 22.23.4, 24.22.1 o 26.12.1, o posteriores en cada rama. Node.js 20, 23 y 25 están fuera de soporte y no recibirán corrección.
¿Next.js o Express son vulnerables?
La falla está en Node.js, no en el framework. Express 5 y body-parser 2 abren el camino de las peticiones con Brotli; cualquier aplicación que use fetch() hacia servidores externos abre el de las respuestas. En todos los casos la solución es actualizar Node.js.
¿Basta con un WAF para protegerse de Node2Shell?
No. Un WAF puede bloquear las peticiones con Content-Encoding: br, pero no ve las respuestas que su aplicación descarga con fetch(). Hay que actualizar Node.js.
¿Se está explotando?
Al 22 de octubre de 2026 no se había reportado explotación real, pero hay una prueba de concepto pública desde ese día.
Fuentes
- Aikido Security. Node2Shell: Node.js Brotli RCE (CVE-2026-111497). 2026 https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497
- Imperva. Node2Shell: From Brotli Data to Remote Code Execution. 2026 https://www.imperva.com/blog/node2shell-from-brotli-data-to-remote-code-execution/
- Vercel. Node.js security advisory: Brotli decoder RCE (CVE-2026-111497). 2026 https://vercel.com/kb/bulletin/node-js-security-advisory
- SOC Prime. CVE-2026-111497: Node.js Brotli Decoder Flaw Enables Remote Code Execution. 2026 https://socprime.com/blog/cve-2026-111497-node-js-brotli-decoder-flaw-enables-remote-code-execution/
Controles y monitoreo que cortan el ataque.
¿Tiene aplicaciones Node.js expuestas a internet?
Le ayudamos a inventariarlas, aplicar el parche virtual en Rescue WAF y vigilarlas con Rescue SOC mientras actualiza.
Hablar con un especialistaTambién te puede interesar
Comentarios (0)
Sé el primero en comentar.