
Los investigadores de ciberseguridad han informado de seis vulnerabilidades en protobuf.js, la implementación de JavaScript y TypeScript de Protocol Buffer (Protobuf). Una explotación exitosa podría conducir a ataques de ejecución remota de código (RCE) o de denegación de servicio (DoS).
«En un entorno afectado, un único esquema de protobuf malicioso, un descriptor o una carga útil diseñada es todo lo que se necesita para provocar un bloqueo, corrupción del tiempo de ejecución o incluso la ejecución de código», afirmó Assaf Morag, investigador de seguridad de Cyera. Esta vulnerabilidad ha recibido el nombre en código ‘Proto6’.
Protobuf es un mecanismo gratuito, independiente del lenguaje y de código abierto para serializar datos estructurados. Fue desarrollado originalmente por Google y utilizado internamente hasta que estuvo disponible públicamente en 2008.
Las vulnerabilidades identificadas afectan a las aplicaciones Node.js que utilizan protobuf.js, bibliotecas cliente de Google Cloud, marcos de mensajería como Baileys y canales de CI/CD. Según Cyera, los servicios Node.js que deserializan datos de Protobuf o generan código a partir de un esquema usando protobuf.js también pueden verse afectados.
A continuación se incluye una breve descripción de cada defecto.
CVE-2026-44289 (puntuación CVSS: 7,5): DoS debido a la recursividad de protobuf sin restricciones CVE-2026-44290 (puntuación CVSS: 7,5): DoS en todo el proceso CVE-2026-44291 (puntuación CVSS: 8,1): al cargar un esquema con una ruta opcional insegura. Dispositivo de generación de código después de la contaminación del prototipo CVE-2026-44292 (puntuación CVSS: 5,3): inyección de prototipo en el constructor de mensajes generados CVE-2026-44294 (puntuación CVSS: 5,3): DoS desde el nombre de campo diseñado en el código generado CVE-2026-44295 (puntuación CVSS: 8,7): inyección de código en la salida estática de pbjs desde el nombre del esquema diseñado
Cyera dijo que todas las vulnerabilidades se derivan del manejo de esquemas y metadatos por parte de la biblioteca como confiables de forma predeterminada. Este descuido en la validación puede afectar el comportamiento de la aplicación y conducir a la ejecución del código.
«La explotación de estas vulnerabilidades generalmente requiere condiciones específicas, que se están volviendo cada vez más comunes en los ecosistemas de datos e inteligencia artificial donde los datos, esquemas y archivos de configuración se intercambian regularmente entre servicios, repositorios, plataformas en la nube e integraciones de terceros», dijo Morag.
Los posibles escenarios de ataque podrían permitir que un atacante malintencionado introduzca un esquema protobuf malicioso para contaminar un flujo de trabajo de CI/CD, filtrar secretos de compilación en el proceso (CVE-2026-44295) o provocar que un mensaje especialmente diseñado bloquee un servicio Node.js, como un bot de WhatsApp creado con Baileys, una biblioteca TypeScript de automatización de la API web de WhatsApp. (CVE-2026-44292).
El más grave de ellos, CVE-2026-44291, permite la ejecución de código cuando una aplicación Node.js acepta entradas controladas por un atacante.
«Esta información llega a un prototipo de dispositivo anticontaminación», explicó el investigador de seguridad Vladimir Tokarev. «El mismo proceso luego codifica o decodifica el mensaje usando protobuf.js. Debido a que protobuf.js resuelve nombres de tipos a través de una simple búsqueda de propiedades, un Object.prototype contaminado podría permitir que las cadenas controladas por un atacante parezcan primitivas válidas de protobuf».
«Protobuf.js inyecta la cadena en la función codificadora o decodificadora generada y la compila con Function(). El atacante ejecuta JavaScript arbitrario dentro del proceso Node.js».
Las siguientes versiones de esta herramienta son vulnerables.
protobuf.js: versión <= 7.5.5 および >= 8.0.0 <= 8.0.1 protobufjs-cli: versión <= 1.2.0 および >= 2.0.0 <= 2.0.1
Hay un parche para esta falla disponible para protobufjs 7.5.6 y 8.0.2 y protobufjs-cli 1.2.1 y 2.0.2. Se anima a los usuarios a aplicar las últimas correcciones para protegerse contra posibles amenazas.
«Protobuf.js se utiliza con frecuencia dentro de bases de datos, almacenes de vectores, canales de inferencia, sistemas de orquestación, herramientas CI/CD y SDK en la nube, por lo que una explotación exitosa podría tener un impacto a gran escala en cargas de trabajo empresariales y de IA sensibles», afirmó Cyera.
«El software moderno trata cada vez más esquemas, metadatos y archivos de configuración como entradas confiables que impulsan la automatización, la orquestación y la generación de código. Cuando estos supuestos de confianza se rompen, los datos pueden convertirse en comportamiento. Ese cambio crea nuevas superficies de ataque que los equipos de seguridad deben aprender a identificar y administrar».
Source link
