Cyera Research descubre seis vulnerabilidades en Protobuf.js que afectan la infraestructura de los sistemas de datos e IA.
.avif)
Los investigadores de Cyera descubrieron y ayudaron a solucionar seis vulnerabilidades en protobuf.js, incluyendo fallos que podrían dar lugar a la ejecución remota de código (RCE) y a ataques de denegación de servicio (DoS).
Si te preguntas por qué esto es importante, es una pregunta válida. La mayoría de nosotros rara vez interactuamos directamente con protobuf.js. Sin embargo, es el entorno de ejecución de JavaScript más utilizado para Protocol Buffers, un formato de serialización que impulsa la comunicación entre millones de aplicaciones, bases de datos, servicios nativos de la nube y sistemas de IA. El paquete en sí se descarga más de 50 millones de veces por semana, y es probable que su adopción real sea mucho mayor debido a su amplia inclusión como dependencia en innumerables proyectos de software.
Principales conclusiones
Los investigadores de Cyera descubrieron seis vulnerabilidades en protobuf.js. En los entornos afectados, un solo esquema, descriptor o carga útil maliciosa de protobuf podría ser suficiente para provocar fallos, corrupción en tiempo de ejecución o incluso la ejecución de código.
Las vulnerabilidades afectan a las aplicaciones Node.js que utilizan protobuf.js, el cual se carga directa o indirectamente mediante herramientas gRPC (@grpc/proto-loader), bibliotecas cliente de Google Cloud, marcos de mensajería como Baileys y canalizaciones de CI/CD. Cualquier servicio Node.js que decodifique datos protobuf o genere código a partir de esquemas con protobuf.js podría verse afectado.
Las vulnerabilidades afectan a las versiones de protobuf.js <= 7.5.5 y >= 8.0.0 <= 8.0.1, y a las versiones de protobufjs-cli <= 1.2.0 y >= 2.0.0 <= 2.0.1. Los parches están disponibles en protobufjs 7.5.6 / 8.0.2 y protobufjs-cli 1.2.1 / 2.0.2.
¿Qué es Protobuf?
Protocol Buffers es uno de los mecanismos más utilizados para transferir datos estructurados entre aplicaciones. Se encuentra presente en servicios en la nube, bases de datos, pipelines de IA, API, aplicaciones móviles y sistemas distribuidos. En entornos JavaScript, protobuf.js es el motor responsable de codificar y decodificar dicha información, lo que la convierte en una de las bibliotecas de serialización más implementadas en el ecosistema de software.
Dado que protobuf está diseñado para funcionar en segundo plano, la mayoría de las organizaciones desconocen cuántos sistemas críticos dependen de él hasta que algo falla.
Las vulnerabilidades de un vistazo
Aunque las seis vulnerabilidades difieren en sus detalles técnicos (lea más al respecto aquí), todas se derivan de un problema subyacente similar:
- protobuf.js confiaba en ciertos datos que deberían haber sido tratados como entradas potencialmente no confiables.
- La información destinada a describir cómo debían procesarse los datos (como las definiciones de esquema, los nombres de los campos o los valores de configuración) podía, en determinadas circunstancias, influir en el comportamiento de la aplicación de maneras inesperadas.
- Esto podría tener diversas consecuencias, desde fallos en la aplicación hasta escenarios más graves que impliquen la ejecución de código.
Si bien la explotación de estas vulnerabilidades generalmente requiere condiciones específicas, dichas condiciones son cada vez más comunes en los ecosistemas de datos e IA que intercambian rutinariamente datos, esquemas y archivos de configuración entre servicios, repositorios, plataformas en la nube e integraciones de terceros.
Impacto en el mundo real: desde bots de mensajería hasta cadenas de suministro de software
Una cosa es encontrar vulnerabilidades en un componente de código abierto ampliamente utilizado. Lo que realmente importa es comprender qué implicaciones podrían tener esas vulnerabilidades en entornos reales. Para evaluar el impacto potencial, probamos varios escenarios realistas que involucran tecnologías que las organizaciones utilizan a diario, desde plataformas de automatización orientadas al cliente hasta servicios en la nube y flujos de trabajo de entrega de software.
La misma vulnerabilidad puede manifestarse de forma muy diferente según el entorno de implementación de protobuf.js. En un entorno, puede provocar la caída de un servicio; en otro, puede afectar a un pipeline de CI/CD. Probamos diversos escenarios para comprender cómo varía el impacto en bases de datos, cadenas de suministro de software, cargas de trabajo en la nube y plataformas de mensajería.
Un posible escenario de ataque realista podría dirigirse a las cadenas de suministro de software. Los equipos de desarrollo aceptan habitualmente contribuciones de código, integran componentes de terceros y procesan automáticamente archivos mediante pipelines de CI/CD. Descubrimos que, bajo ciertas condiciones, se podría introducir un esquema protobuf malicioso en este flujo de trabajo y, en última instancia, ejecutarse en entornos de compilación de confianza. La importancia de este hallazgo no se limita a una sola aplicación. Los sistemas de compilación suelen tener acceso a repositorios de código fuente, credenciales de implementación, recursos en la nube, certificados de firma y otros activos altamente sensibles. Una vulneración en esta etapa podría permitir a los atacantes ir mucho más allá del proyecto inicial y afectar potencialmente a productos posteriores, clientes y operaciones comerciales.
Los riesgos van más allá de las aplicaciones y afectan a las plataformas de datos que muchas organizaciones utilizan a diario. Numerosas bases de datos, plataformas de datos y sistemas de análisis intercambian información mediante Protocol Buffers, y los servicios Node.js y los SDK de cliente que se encuentran delante de ellos suelen decodificar ese tráfico con protobuf.js. En estos entornos, protobuf se considera una capa de infraestructura de confianza y recibe mucha menos atención que las aplicaciones externas.
Cuando los servicios de Node.js decodifican protobuf no confiable con una versión afectada, una carga útil maliciosa podría provocar su bloqueo, detener los procesos de datos o interrumpir las operaciones de backend. En entornos a gran escala donde cientos de servicios intercambian información continuamente, incluso un fallo localizado puede desencadenar problemas más amplios que afecten la disponibilidad y la confiabilidad.
Los sistemas de IA resultaron particularmente interesantes porque protobuf aparece en todo el proceso, y varios de los clientes de Node.js que interactúan con él ejecutan directamente protobuf.js: el SDK de la base de datos vectorial Milvus, el SDK de orquestación Temporal TypeScript y los exportadores de JavaScript de OpenTelemetry lo incluyen. Si uno de esos clientes decodifica protobuf manipulado por un atacante, el mismo fallo podría interrumpir la ingesta de datos, afectar la recuperación, retrasar la inferencia o perjudicar los servicios relacionados con una implementación de IA en producción.
Otro ejemplo impactante involucra las plataformas de automatización de WhatsApp. Demostramos que un mensaje especialmente diseñado podía provocar fallos repetidos en los marcos de trabajo de bots más populares de WhatsApp. El impacto va más allá de una simple interrupción del servicio. Dado que el mensaje malicioso permanece almacenado en el historial de conversaciones, los bots afectados podrían entrar en un bucle de fallos persistente, fallando cada vez que se reinician e intentan procesar el mensaje. Para las organizaciones que dependen de bots de mensajería para atención al cliente, ventas, soporte u operaciones comerciales, una sola interacción maliciosa podría interrumpir por completo un canal de comunicación.
Resumen y medidas de mitigación
Las seis vulnerabilidades descubiertas por los investigadores de Cyera afectan a operaciones clave de protobuf.js, como la carga de esquemas, la generación de código, el manejo de objetos, la codificación, la decodificación y el análisis de descriptores. Dado que protobuf.js se utiliza ampliamente en bases de datos, almacenes de vectores, pipelines de inferencia, sistemas de orquestación, herramientas de CI/CD y SDK en la nube, una explotación exitosa podría tener un impacto significativo en cargas de trabajo empresariales y de IA a gran escala.
La lección que se desprende de esta investigación va más allá de protobuf.js. El software moderno trata cada vez más los esquemas, los metadatos y los archivos de configuración como entradas fiables que impulsan la automatización, la orquestación y la generación de código. Cuando se rompen esas suposiciones de confianza, los datos pueden convertirse en comportamiento. Este cambio crea nuevas superficies de ataque que los equipos de seguridad deben aprender a identificar y gestionar.
Medidas inmediatas a tomar:
- Actualiza protobufjs y protobufjs-cli a versiones parcheadas y audita tanto las dependencias directas como las transitivas.
- Priorice los servicios gRPC, API, WebSocket y de colas de mensajes con acceso a Internet que decodifican cargas útiles protobuf no confiables, especialmente para el riesgo de denegación de servicio (DoS) de CVE-2026-44289.
- Revise la exposición a la contaminación de prototipos en los paquetes npm coinstalados, ya que puede encadenarse con CVE-2026-44291 y el problema del descriptor typeName para lograr la ejecución remota de código (RCE).
- Trate los esquemas, descriptores y registros de esquemas protobuf como entrada no confiable; valide las fuentes .proto, descriptores JSON y FileDescriptorSet antes de cargarlas.
- Refuerce la seguridad de las canalizaciones de CI/CD utilizando pbjs. Fije versiones, verifique la integridad del esquema y evite generar código estático a partir de esquemas no confiables.
Cómo puede ayudar Cyera
Cyera ayuda a las organizaciones a identificar y reducir riesgos en entornos modernos de nube, IA y datos, donde la comunicación basada en protobuf y el manejo dinámico de esquemas están profundamente arraigados. Cyera proporciona visibilidad sobre flujos de datos confidenciales, pipelines de IA, servicios en la nube y sistemas distribuidos que pueden estar expuestos a bibliotecas vulnerables, dependencias inseguras o patrones de carga de esquemas inseguros.
Mediante Cyera, las organizaciones pueden identificar servicios de alto riesgo que manejan tráfico protobuf sensible, detectar secretos expuestos y datos relacionados con la IA, supervisar integraciones riesgosas en entornos nativos de la nube y reducir el impacto en caso de vulneración de la seguridad en tiempo de ejecución o ataques a la cadena de suministro.
Cyera también ayuda a los equipos de seguridad a comprender dónde residen los datos confidenciales de la empresa y de la IA, cómo se mueven entre sistemas y qué cargas de trabajo podrían verse afectadas por vulnerabilidades en las capas de serialización, la infraestructura gRPC, las bases de datos vectoriales o las canalizaciones de orquestación de IA.
.avif)

.avif)
.avif)