OpenAI descubre vulnerabilidad crítica en Brotli que permite ejecutar código remoto en servidores

OpenAI descubre vulnerabilidad crítica en Brotli que permite ejecutar código remoto en servidores

La falla, identificada como CVE-2026-111497, afecta al procesamiento de datos comprimidos mediante Brotli y puede comprometer aplicaciones que utilizan Node.js o Bun. El hallazgo fue atribuido a OpenAI Codex Security y ya motivó actualizaciones de seguridad.

Una vulnerabilidad crítica descubierta por OpenAI Codex Security en el decodificador Brotli puede permitir que atacantes sin autenticación ejecuten código remoto, provoquen fallas en aplicaciones o accedan a información sensible almacenada en memoria. La vulnerabilidad, identificada como CVE-2026-111497, afecta a una biblioteca de compresión utilizada en aplicaciones y servicios web, incluidos aquellos desarrollados sobre Node.js y Bun.

El proyecto Node.js publicó actualizaciones de seguridad el 21 de octubre de 2026 para corregir el problema. La falla recibió una puntuación de 9.2 sobre 10 en CVSS 4.0, correspondiente a severidad crítica, mientras que el equipo de seguridad de Node.js la clasificó como de gravedad alta.

El hallazgo forma parte de Patch the Planet, una iniciativa de OpenAI dedicada a identificar y corregir vulnerabilidades en componentes de software de código abierto. En el aviso oficial de Node.js, la atribución del descubrimiento corresponde a OpenAI Codex Security, con reconocimiento a Khai Tran y Sylvie Mayer.

Cómo funciona la vulnerabilidad

Brotli es un algoritmo de compresión de datos desarrollado por Google y ampliamente utilizado para reducir el tamaño de la información transmitida por internet. Su decodificador reconstruye los datos originales cuando una aplicación recibe contenido comprimido.

La vulnerabilidad aparece durante el procesamiento de ciertos bloques de datos malformados. Según el reporte técnico de Node.js, el decodificador podía interpretar incorrectamente una transición inválida entre bloques como una solicitud temporal de más información, en lugar de reconocerla como un error definitivo.

Este comportamiento provocaba que el programa continuara agregando datos a un búfer interno de ocho bytes y terminara escribiendo información fuera del espacio de memoria reservado.

Un atacante puede aprovechar esta condición enviando contenido comprimido especialmente manipulado a una aplicación que lo descomprima mediante una versión vulnerable de Brotli.

Las consecuencias potenciales incluyen interrupciones del servicio, exposición de información contenida en la memoria del proceso y ejecución remota de código. Sin embargo, la existencia de la vulnerabilidad no implica que cualquier servidor con Node.js pueda ser comprometido automáticamente: el ataque requiere que la aplicación procese datos Brotli controlados por un tercero.

El riesgo también alcanza a las conexiones salientes

La superficie de ataque no se limita a los servidores que reciben archivos o solicitudes HTTP comprimidas. Las aplicaciones que consultan servicios externos también pueden quedar expuestas cuando utilizan mecanismos capaces de descomprimir automáticamente respuestas HTTP con la cabecera Content-Encoding: br.

Esto significa que una aplicación puede enfrentar el riesgo al procesar la respuesta de un servidor externo que controla un atacante, siempre que intervenga una implementación vulnerable del decodificador. En su aviso, Patch the Planet señala que consiguió demostrar ejecución remota de código sin autenticación en una implementación de Express cercana a su configuración predeterminada. La organización recomienda revisar las rutas de entrada, las bibliotecas que procesan solicitudes y las conexiones a servicios externos.

Node.js publica correcciones y Bun actualiza su código

El equipo de Node.js incorporó la corrección en las versiones 22.23.4, 24.22.1 y 26.12.1, publicadas el 21 de octubre. Por su parte, desarrolladores de Bun documentaron que las versiones anteriores utilizaban implementaciones de Brotli que no contenían la corrección. El problema fue registrado en GitHub y el 22 de octubre se integraron cambios relacionados con la actualización de Brotli en el repositorio principal.

La corrección en el código fuente no equivale por sí sola a la instalación de una versión segura en todos los sistemas. Los administradores deben comprobar qué versión del entorno de ejecución utilizan realmente sus aplicaciones y si el proveedor correspondiente incorporó el parche. Patch the Planet también advierte que actualizar una dependencia mediante npm no necesariamente corrige el problema, debido a que Node.js y Bun pueden incorporar sus propias versiones del decodificador.

Ya existe una prueba de concepto pública

El Centro Nacional de Operaciones de Ciberseguridad del servicio de salud de Inglaterra informó el 23 de octubre que existe una prueba de concepto pública relacionada con CVE-2026-111497 y considera probable que la vulnerabilidad sea explotada en el futuro.

Esta advertencia no constituye una confirmación de ataques activos. La información disponible distingue entre la publicación de una prueba de concepto y la identificación de campañas reales de explotación. El descubrimiento amplía el alcance de las investigaciones publicadas por Patch the Planet durante octubre, después de la divulgación de vulnerabilidades críticas en PHP.

En este nuevo caso, la falla afecta a un componente de compresión integrado en distintos entornos de ejecución. Su alcance dependerá de las versiones desplegadas y de las funciones de descompresión expuestas a datos controlados por terceros. La prioridad para los operadores de sistemas afectados es instalar las versiones corregidas, reiniciar los procesos que utilizan los componentes vulnerables y comprobar que los cambios se hayan aplicado a todos los entornos de producción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *