Seis vulnerabilidades de Proto6 en protobuf.js exponen aplicaciones de Node.js a RCE y DoS – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han detectado media docena de vulnerabilidades en protobuf.js, una implementación de JavaScript y TypeScript de Protocol Buffers (Protobuf), que, si se explota con éxito, podría provocar ataques de ejecución remota de código (RCE) y de denegación de servicio (DoS).

«En los entornos afectados, un único esquema de protobuf malicioso, un descriptor o una carga útil diseñada podría ser suficiente para provocar fallos, corrupción del tiempo de ejecución o incluso la ejecución de código», afirma Assaf Morag, investigador de seguridad de Cyera. dicho. Las vulnerabilidades han sido nombradas en código. Proto6.

Protobuf es un mecanismo gratuito, de código abierto e independiente del idioma para serializar datos estructurados. Originalmente fue desarrollado y utilizado internamente por Google antes de estar disponible públicamente en 2008.

Las vulnerabilidades identificadas afectan a las aplicaciones Node.js que utilizan protobuf.js, bibliotecas cliente de Google Cloud y marcos de mensajería como Baileysy canales de CI/CD. Según Cyera, cualquier servicio Node.js que deserialice datos de Protobuf o genere código a partir de esquemas con protobuf.js probablemente también se vea afectado.

Ciberseguridad

A continuación se incluye una breve descripción de cada uno de los defectos:

  • CVE-2026-44289 (Puntuación CVSS: 7,5): DoS mediante recursividad ilimitada de protobuf
  • CVE-2026-44290 (Puntuación CVSS: 7,5): DoS en todo el proceso al cargar esquemas con rutas de opciones inseguras
  • CVE-2026-44291 (Puntuación CVSS: 8,1): 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 prototipos en constructores de mensajes generados
  • CVE-2026-44294 (Puntuación CVSS: 5,3): DoS a partir de nombres de campos diseñados 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 a partir de nombres de esquemas elaborados

Cyera dijo que todas las vulnerabilidades se derivan del manejo de esquemas y metadatos por parte de la biblioteca como confiables de forma predeterminada. Esta supervisión de la validación podría influir en el comportamiento de la aplicación y conducir a la ejecución del código.

«Si bien la explotación de estas vulnerabilidades generalmente requiere condiciones específicas, esas condiciones son cada vez más comunes en los ecosistemas de datos e inteligencia artificial que intercambian rutinariamente datos, esquemas y archivos de configuración entre servicios, repositorios, plataformas en la nube e integraciones de terceros», señaló Morag.

En un posible escenario de ataque, un mal actor podría introducir un esquema protobuf malicioso para envenenar los flujos de trabajo de CI/CD, filtrando secretos de compilación en el proceso (CVE-2026-44295) o bloquear servicios Node.js como los bots de WhatsApp creados con Baileys, una biblioteca TypeScript de automatización de API web de WhatsApp, por medio de un mensaje especialmente diseñado (CVE-2026-44292).

El más grave de todos es CVE-2026-44291, que provoca 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 contra la contaminación», afirma el investigador de seguridad Vladimir Tokarev. explicado. «Más tarde, el mismo proceso usa protobuf.js para codificar o decodificar un mensaje. Debido a que protobuf.js resuelve nombres de tipos a través de búsquedas de propiedades simples, un Object.prototype contaminado puede hacer que una cadena controlada por un atacante parezca una primitiva de protobuf válida».

«Protobuf.js luego inserta esa cadena en una función codificadora o decodificadora generada y la compila con Function(). El atacante obtiene una ejecución arbitraria de JavaScript dentro del proceso Node.js».

Ciberseguridad

Las siguientes versiones de la herramienta son vulnerables:

  • protobuf.js: versiones <= 7.5.5 y >= 8.0.0 <= 8.0.1
  • protobufjs-cli: versiones <= 1.2.0 y >= 2.0.0 <= 2.0.1

Los parches para las fallas están disponibles en protobufjs 7.5.6 y 8.0.2, y protobufjs-cli 1.2.1 y 2.0.2. Se recomienda a los usuarios que apliquen las últimas correcciones para protegerse contra posibles amenazas.

«Debido a que protobuf.js se usa mucho dentro de bases de datos, almacenes de vectores, canales de inferencia, sistemas de orquestación, herramientas CI/CD y SDK en la nube, una explotación exitosa podría afectar las cargas de trabajo empresariales y de IA sensibles a escala», dijo 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 esas suposiciones 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».

Deja una respuesta

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