Un fallo crítico en el decodificador Brotli de Google (CVE-2026-111497, «Node2Shell») permite corromper la memoria con datos comprimidos manipulados. Afecta a webs, API y scripts en Node.js, .NET o Python que descompriman Brotli de terceros. Node.js publicó parches el 21 de octubre y Microsoft el 25: actualiza hoy o pide a tu proveedor que lo confirme.
Lo esencial
- CVE-2026-111497 es una escritura fuera de límites en el decodificador de Brotli. Google le da un CVSS 4.0 de 9,2 (crítico) y Microsoft un CVSS 3.1 de 8,1: crítico para .NET y Visual Studio, importante para PowerShell.
- Afecta a Brotli 1.0.3 a 1.2.0. Las versiones corregidas, 1.0.10, 1.1.1 y 1.2.1, salieron el 21 de octubre.
- Node.js lo corrigió en 22.23.4, 24.22.1 y 26.12.1. Node.js 20 y anteriores están fuera de soporte y no recibirán parche.
- Microsoft publicó el 25 de octubre .NET 8.0.33, 9.0.22 y 10.0.14, además de .NET 11 RC3, y actualizó Visual Studio y PowerShell. .NET Framework no está afectado.
- No se ha informado de explotación real, pero Microsoft lo marca como «Exploitation More Likely» y como divulgado públicamente.
¿Me afecta si no sé si mi aplicación usa Brotli?
Toca revisarlo. El riesgo aparece cuando un servicio descomprime Brotli que llega de fuera: una respuesta de otra web o el cuerpo de una petición. Según SecurityWeek, Imperva logró ejecutar código sobre la imagen oficial de Node.js 24.22.0 para Linux arm64, tanto con una respuesta obtenida con fetch() como con un cuerpo de petición en Express 5. El exploit no se ha publicado.
En Python el problema es más silencioso. Si tienes instalado Brotli o brotlicffi, clientes HTTP como requests, urllib3, httpx y aiohttp decodifican respuestas Brotli por sí solos, sin que nadie lo haya programado. Según The Hacker News, los escáneres de dependencias pueden no detectarlo todavía. Las versiones corregidas son Brotli 1.2.1 y brotlicffi 1.2.1.0.
En .NET el escenario es algo mejor: Microsoft indica que la descompresión Brotli no está activada por defecto ni en .NET ni en ASP.NET Core. Aun así, clasifica el parche como crítico.
¿Y si solo uso WordPress, Microsoft 365 o un SaaS?
Si no tienes código propio, el riesgo directo es bajo. Pero tus proveedores sí pueden estar expuestos. El fallo alcanza también a Bun (corregido en 1.4.4), Envoy e Istio, que ya tienen actualización. JFrog informó el 25 de octubre de que afecta a FFmpeg, ClickHouse y Apache Arrow, y de que algunos aún no tenían versión corregida. Pregunta a tu empresa de desarrollo y a tu alojamiento si han actualizado.
¿Basta con actualizar el servidor?
No siempre. Las aplicaciones .NET autocontenidas o NativeAOT llevan el runtime dentro, igual que las imágenes de contenedor. Hay que reconstruirlas y volver a desplegarlas. En Node.js no hay mitigación interna: la única solución es actualizar.
Qué hacer hoy
- Haz inventario: qué webs, API, tiendas o backoffices a medida tienes en Node.js, .NET o Python, y quién los mantiene.
- Pide confirmación por escrito de estas versiones: Node 22.23.4, 24.22.1 o 26.12.1; .NET 8.0.33, 9.0.22 o 10.0.14; Brotli o brotlicffi 1.2.1.
- Exige que se reconstruyan y redesplieguen las apps .NET autocontenidas o NativeAOT y las imágenes de contenedor.
- Si no puedes actualizar ya, rechaza las peticiones con
Content-Encoding: bren el proxy o en el cortafuegos web. - En Python, desinstala Brotli y brotlicffi si no los necesitas.
- Si algo corre en Node 20 o anterior, pon fecha a la migración a una versión con soporte.
- Actualiza Visual Studio y PowerShell en los equipos de tu equipo técnico.
Qué significa para una pyme
No es una emergencia de explotación activa, pero tampoco es para dejarlo al mes que viene. Hay tres señales: ya existe una demostración de ejecución de código, Microsoft considera probable la explotación y la ventana entre parche y ataques suele ser corta.
Lo delicado es que muchas pymes no saben qué tecnología corre debajo de su web, su tienda o su integración con otros sistemas. Ese desconocimiento es el riesgo real. Si tu proveedor responde «está todo bien» sin dar versiones concretas, no te ha respondido. Pide números.
El caso de Node 20 merece atención aparte. Si tu aplicación depende de una versión sin soporte, este fallo no tendrá arreglo, y el siguiente tampoco. Es deuda técnica que ahora tiene un coste de seguridad. Si necesitas ordenar ese inventario y saber qué tienes expuesto, es el tipo de revisión que hacemos en ciberseguridad.
Preguntas frecuentes
¿Se está explotando ya?
No se ha informado de explotación real. Existe una demostración de ejecución de código sobre Node.js, pero el exploit no se ha publicado.
¿Afecta a .NET Framework?
No. Según Microsoft, .NET Framework no está afectado. Los parches son para .NET 8, 9, 10 y .NET 11 RC3.
¿Puedo mitigarlo sin actualizar Node.js?
No dentro de Node.js. Como medida temporal, puedes rechazar Content-Encoding: br en el proxy o en el cortafuegos web.
Fuentes
- Microsoft Security Update Guide – CVE-2026-111497
- The Hacker News – Brotli Decoder Flaw Behind Node.js RCE Also Affects Bun, Python and Other Widely Used Software
- SecurityWeek – Node2Shell Brotli Flaw Triggers Patching Across Microsoft, Node.js, Python Packages
- The Hacker News – Node.js Brotli Decoder Bug Could Allow Remote Code Execution in All Supported Versions