(https://i.imgur.com/x62mxsI.jpeg)
Investigadores de ciberseguridad han revelado un conjunto de seis vulnerabilidades de seguridad de alto impacto en protobuf.js, una de las implementaciones más utilizadas de Protocol Buffers (Protobuf) para JavaScript y TypeScript. Los fallos, agrupados bajo el nombre Proto6, podrían permitir desde ataques de denegación de servicio (DoS) hasta escenarios de ejecución remota de código (RCE) capaces de comprometer aplicaciones Node.js, plataformas en la nube, sistemas de inteligencia artificial y entornos CI/CD.
El hallazgo ha generado preocupación en la comunidad tecnológica debido a la amplia adopción de protobuf.js en servicios empresariales modernos. Según los investigadores de la firma de seguridad Cyera, una única carga útil maliciosa, descriptor manipulado o esquema Protobuf especialmente diseñado podría desencadenar fallos críticos, corrupción en tiempo de ejecución e incluso la ejecución arbitraria de código dentro de procesos vulnerables.
¿Qué es Protobuf y por qué es tan importante?Protocol Buffers (Protobuf) es un mecanismo de serialización de datos desarrollado originalmente por Google para facilitar el intercambio eficiente de información estructurada entre aplicaciones y servicios.
Desde su liberación como proyecto de código abierto en 2008, Protobuf se ha convertido en un estándar ampliamente utilizado en:
- Aplicaciones Node.js
- Servicios en la nube
- APIs empresariales
- Sistemas de mensajería
- Plataformas de inteligencia artificial
- Microservicios
- Herramientas DevOps
- Entornos CI/CD
La biblioteca protobuf.js permite a los desarrolladores trabajar con esquemas Protobuf dentro del ecosistema JavaScript y TypeScript, siendo utilizada por numerosos SDKs, frameworks y servicios empresariales.
Precisamente debido a esta enorme adopción, cualquier vulnerabilidad en la biblioteca puede tener un impacto significativo en miles de aplicaciones y organizaciones.
Proto6: Las seis vulnerabilidades descubiertas en protobuf.jsLos investigadores identificaron seis fallos distintos que afectan la forma en que protobuf.js procesa esquemas, metadatos y datos de entrada.
CVE-2026-44289 – Denegación de servicio mediante recursión ilimitadaCVSS: 7.5Esta vulnerabilidad permite provocar un ataque DoS explotando estructuras Protobuf recursivas sin límites adecuados de validación.
Un atacante podría enviar datos especialmente diseñados para consumir recursos excesivos del sistema hasta provocar bloqueos o caídas de la aplicación.
CVE-2026-44290 – DoS mediante rutas de opciones insegurasCVSS: 7.5El fallo afecta el procesamiento de esquemas cuando contienen rutas de opciones manipuladas.
La carga de estos esquemas puede provocar interrupciones del proceso y afectar la disponibilidad de servicios críticos.
CVE-2026-44291 – Ejecución remota de código mediante contaminación de prototiposCVSS: 8.1Se trata de una de las vulnerabilidades más peligrosas identificadas dentro de Proto6.
La explotación combina técnicas de contaminación de prototipos con el mecanismo de generación dinámica de código utilizado por protobuf.js.
Según explicó el investigador Vladimir Tokarev, un atacante puede introducir datos manipulados que terminan modificando propiedades heredadas de objetos JavaScript.
Posteriormente, cuando protobuf.js genera funciones de codificación o decodificación, la biblioteca interpreta datos controlados por el atacante como tipos válidos y los compila utilizando la función Function().
Como resultado, el atacante puede conseguir la ejecución arbitraria de código JavaScript dentro del proceso Node.js comprometido.
CVE-2026-44292 – Inyección de prototipos en mensajes generadosCVSS: 5.3Este fallo permite alterar el comportamiento interno de constructores de mensajes generados automáticamente.
Aunque su impacto es menor que el de otros defectos, puede utilizarse como parte de cadenas de ataque más complejas orientadas a comprometer aplicaciones vulnerables.
CVE-2026-44294 – DoS mediante nombres de campos manipuladosCVSS: 5.3La vulnerabilidad aprovecha nombres de campos especialmente elaborados para generar errores durante la construcción de código.
Los atacantes podrían utilizar esta técnica para provocar interrupciones de servicio y degradar el rendimiento de sistemas afectados.
CVE-2026-44295 – Inyección de código en la salida estática de pbjsCVSS: 8.7Este es el fallo con la puntuación más alta de todo el conjunto Proto6.
La vulnerabilidad afecta a la herramienta pbjs y permite inyectar código malicioso mediante nombres de esquemas especialmente diseñados.
En determinados escenarios, un atacante podría comprometer pipelines de compilación automatizados y obtener acceso a información sensible durante procesos CI/CD.
Cómo podrían explotar los atacantes estas vulnerabilidadesDe acuerdo con Cyera, la raíz del problema se encuentra en la manera en que protobuf.js maneja por defecto esquemas y metadatos sin aplicar suficientes validaciones de seguridad.
En los ecosistemas modernos, los esquemas Protobuf suelen intercambiarse constantemente entre:
- Repositorios de código
- Servicios cloud
- Sistemas de IA
- Integraciones de terceros
- Herramientas de automatización
- Plataformas DevOps
Esta confianza implícita crea una superficie de ataque cada vez mayor.
Los investigadores advierten que los atacantes podrían aprovechar esta situación para introducir esquemas maliciosos capaces de modificar el comportamiento de aplicaciones enteras.
Riesgos para entornos Node.js, IA y CI/CDUno de los escenarios más preocupantes involucra ataques contra pipelines de integración y despliegue continuo.
Mediante la explotación de CVE-2026-44295, un actor malicioso podría introducir esquemas manipulados dentro del flujo de desarrollo y provocar la filtración de:
- Secretos de compilación
- Tokens de acceso
- Credenciales cloud
- Variables de entorno
- Claves API
Además, aplicaciones Node.js que procesan datos externos podrían ser vulnerables a ataques de denegación de servicio o ejecución remota de código.
Los investigadores también destacan riesgos específicos para sistemas de inteligencia artificial, bases de datos vectoriales y plataformas de inferencia que utilizan Protobuf como formato de intercambio de datos.
Impacto potencial en Baileys y bots de WhatsAppOtro caso destacado afecta a proyectos construidos con Baileys, una popular biblioteca TypeScript utilizada para automatizar la API web de WhatsApp.
Según el informe, un mensaje especialmente diseñado podría aprovechar ciertas vulnerabilidades para provocar bloqueos del servicio o afectar la disponibilidad de bots automatizados que dependan de protobuf.js.
Dado que Baileys es ampliamente utilizado por empresas para automatizar atención al cliente y mensajería empresarial, el riesgo no debe subestimarse.
Versiones vulnerables de protobuf.jsCyera confirmó que las siguientes versiones se encuentran afectadas:
- protobuf.js
- Versiones ≤ 7.5.5
- Versiones 8.0.0 y 8.0.1
[li
]protobufjs-cli[/li]
[li]Versiones ≤ 1.2.0[/li]
[li]Versiones 2.0.0 y 2.0.1[/li]
[/list]
Cualquier organización que utilice estas versiones debería evaluar inmediatamente su exposición al riesgo.
Actualizaciones y parches disponiblesLos desarrolladores ya han publicado correcciones de seguridad para todas las vulnerabilidades identificadas.
Las versiones recomendadas son:
- protobuf.js
- 7.5.6
- 8.0.2
- protobufjs-cli
- 1.2.1
- 2.0.2
Actualizar a estas versiones es actualmente la medida de mitigación más importante para reducir el riesgo de explotación.
Lecciones para la seguridad modernaEl caso Proto6 refleja una tendencia cada vez más preocupante en la industria tecnológica: la creciente dependencia de esquemas, configuraciones y metadatos considerados tradicionalmente como información confiable.
A medida que las organizaciones adoptan arquitecturas basadas en automatización, inteligencia artificial y microservicios, estos elementos se convierten en componentes críticos que pueden influir directamente en el comportamiento del software.
Cuando un atacante consigue manipular dichos datos, la frontera entre información y ejecución comienza a desaparecer.
En fin...Las vulnerabilidades Proto6 representan una seria amenaza para el ecosistema Node.js y para las organizaciones que utilizan protobuf.js en aplicaciones empresariales, plataformas cloud, sistemas de inteligencia artificial y pipelines CI/CD. La posibilidad de lograr ejecución remota de código, contaminación de prototipos e interrupciones de servicio demuestra que incluso bibliotecas ampliamente confiables pueden convertirse en vectores de ataque de alto impacto.
Dado que protobuf.js se encuentra integrado en innumerables aplicaciones modernas, los equipos de seguridad y desarrollo deben priorizar la actualización inmediata a las versiones corregidas, revisar los mecanismos de validación de esquemas y adoptar controles más estrictos sobre los datos que impulsan procesos automatizados. En un entorno donde los metadatos pueden convertirse en código ejecutable, la confianza implícita ya no es una estrategia de seguridad viable.
Fuente: https://thehackernews.com/