Nueva plataforma: Workers, destacado por Forbes y P&M, agencia de empleados digitales.Conoce más

Node2Shell: actualiza Node.js en tu servidor esta semana

Ciberseguridad

Node2Shell: actualiza Node.js en tu servidor esta semana

¿Tu web o tu API corren en Node.js? Node2Shell ya se explota: qué versiones son seguras, cómo revisarlo en 15 minutos y qué encontramos en nuestro servidor.

¿Qué es Node2Shell y qué debe hacer tu empresa esta semana?

Node2Shell (CVE-2026-111497) es una falla en el descompresor Brotli que usa Node.js y que permite a un atacante tumbar un servidor, leer parte de su memoria y, en algunos casos, ejecutar código. El 27 de octubre de 2026 la agencia de ciberseguridad de Estados Unidos (CISA) confirmó que ya se está explotando. Si tu web, tu tienda, tu API o tus automatizaciones corren en Node.js, la acción es una sola: actualizar a la versión corregida y reconstruir los contenedores.

Resumen rápido

  • Qué es: una escritura fuera de límites en el decodificador Brotli, el formato de compresión que usan muchas páginas y APIs.
  • 21 de octubre: Node.js publica las versiones corregidas.
  • 22 de octubre: aparece código de prueba público.
  • 27 de octubre: CISA lo agrega a su catálogo de vulnerabilidades explotadas; da a las agencias federales hasta el 10 de noviembre.
  • Versiones seguras: 22.23.4, 24.22.1 y 26.12.1 (o posteriores); en Bun, 1.4.4.

Qué versiones de Node.js están corregidas

Línea de Node.jsVersión mínima seguraEstado
22.x (LTS)22.23.4Con parche
24.x (LTS)24.22.1Con parche
26.x26.12.1Con parche
Bun1.4.4Con parche
20.x, 23.x, 25.x y anterioresSin correcciónFin de soporte: hay que migrar

Los datos de versiones y fechas vienen del análisis técnico de Aikido y la confirmación de explotación, de BleepingComputer.

¿Tu negocio está expuesto?

No todo servidor Node.js es igual de vulnerable. El riesgo aparece cuando tu aplicación descomprime datos Brotli que controla otra persona:

  • APIs con Express 5 o body-parser 2: descomprimen cuerpos de petición enviados con Content-Encoding: br, y cualquiera puede mandar uno.
  • Integraciones que llaman a otros servidores con fetch(): si el servidor de enfrente es malicioso o fue comprometido, la respuesta comprimida llega directo a tu app. Piensa en webhooks o en funciones que abren URLs que escribe un usuario.
  • Contenedores Docker con imágenes fijas: una imagen anclada a una etiqueta vieja sigue vulnerable aunque el servidor tenga Node.js al día.
  • Otras herramientas: según CISA, la falla nació en Node.js pero también alcanza servidores y clientes HTTP que usan versiones vulnerables de Brotli.

En una pyme esto suele significar: la web en Next.js, el backend del chatbot de WhatsApp, el servidor de n8n y cualquier microservicio que conecta el CRM con la tienda.

Cómo revisarlo en 15 minutos

  1. En cada servidor, ejecuta node --version y compáralo con la tabla.
  2. Para cada imagen Docker: docker run --rm --entrypoint node TU_IMAGEN -v.
  3. Busca dónde entra Brotli: npm ls express body-parser y una búsqueda de brotliDecompress en el código.
  4. Actualiza, reinicia los procesos (pm2, systemd) y reconstruye y vuelve a desplegar las imágenes.
  5. Si hoy no puedes actualizar, bloquea en el proxy (Nginx, Cloudflare) las peticiones con Content-Encoding: br. Es un parche temporal: no protege las respuestas que tu app descarga de otros servidores.

Si tu sitio corre sobre PHP y no sobre Node.js, la urgencia de esta misma semana está en otra parte: revisa nuestra guía sobre PHP2Shell y cómo actualizar PHP en WordPress.

El ángulo de Zero Azul: lo que encontramos en nuestro propio servidor

El 28 de octubre revisamos el VPS donde corren zeroazul.com y varias aplicaciones de clientes. Esto es lo que vimos:

ComponenteResultado
9 aplicaciones Node.js en pm2 (web, APIs, workers)Node.js 22.23.4: versión corregida
2 contenedores Docker con Node.js22.23.4 dentro de la imagen
Librería Brotli del sistema (Ubuntu 24.04, libbrotli1)1.1.0-2ubuntu0.1, sin actualización publicada ese día

La lección práctica es la tercera fila. Node.js trae su propia copia de Brotli, así que actualizar Node cierra la falla en las aplicaciones. Pero herramientas del sistema, como curl, usan la librería de Ubuntu, que va por otro camino de actualización. Por eso no basta con «actualicé Node»: hay que llevar un inventario de cada pieza que descomprime datos y vigilar el parche de la distribución hasta que llegue.

La mayoría de las pymes con las que hablamos no sabe qué versión de Node.js corre en su servidor ni quién la actualiza. Si es tu caso, ese es el problema de fondo, no Node2Shell.

Qué hacer si no tienes equipo técnico

Pide a tu proveedor tres cosas por escrito: la versión de Node.js de cada servidor y contenedor, la fecha en que la actualizó y si usa Express o funciones que llamen a URLs externas. Si no te responde en un día, es momento de cambiar de esquema.

En Zero Azul hacemos ese inventario y la actualización dentro de nuestro servicio de mantenimiento web, y revisamos la exposición completa del servidor en el de ciberseguridad para empresas. Si tus automatizaciones viven en n8n, mira también las 15 fallas de n8n de octubre: la mayoría de instalaciones necesita ambas actualizaciones.

Preguntas frecuentes

¿Qué es Node2Shell?

Es el nombre de la vulnerabilidad CVE-2026-111497, una falla en el descompresor Brotli que usa Node.js. Un atacante puede enviar datos comprimidos manipulados para tumbar el servidor, leer parte de su memoria y, en algunos casos, ejecutar código.

¿Cómo sé si mi servidor Node.js es vulnerable?

Ejecuta node --version en el servidor y dentro de cada contenedor. Si tienes una versión anterior a 22.23.4, 24.22.1 o 26.12.1, o usas una línea sin soporte como la 20.x, eres vulnerable y debes actualizar.

¿Ya están atacando con Node2Shell?

Sí. El 27 de octubre de 2026 CISA, la agencia de ciberseguridad de Estados Unidos, confirmó explotación activa y la agregó a su catálogo de vulnerabilidades explotadas. Hay código de prueba público desde el 22 de octubre.

¿Basta con actualizar Node.js?

Actualizar Node.js corrige las aplicaciones, pero debes reiniciar los procesos y reconstruir las imágenes Docker. Además, herramientas del sistema como curl usan la librería Brotli de la distribución, que se actualiza por separado.

¿Qué hago si no puedo actualizar hoy?

Bloquea en tu proxy o firewall las peticiones con Content-Encoding: br. Es una medida temporal que no protege las respuestas que tu aplicación descarga de otros servidores, así que la actualización sigue siendo obligatoria.

¿Quieres que te contactemos?

Cuéntanos tu necesidad y te respondemos con una propuesta acorde.