Las imágenes de este artículo han sido generadas con inteligencia artificial. Cómo publicamos
Una vulnerabilidad crítica de ejecución remota de código (RCE) ha salido a la luz en protobuf.js, la implementación en JavaScript de Protocol Buffers que usan miles de proyectos en Node.js. El problema llamó la atención después de que investigadores compartieran un proof-of-concept público y los mantenedores publicaran parches; dada la popularidad de la librería —que registra cerca de 50 millones de descargas semanales—, el hallazgo merece atención inmediata por parte de equipos de desarrollo y operaciones.
El fallo radica en cómo la librería genera código dinámicamente a partir de los esquemas. En lugar de construir estructuras seguras, protobuf.js concatena cadenas para formar funciones JavaScript y las ejecuta con el constructor Function(), aplicando muy poca o ninguna validación sobre los identificadores extraídos del esquema (nombres de mensajes, tipos, etc.). Un esquema manipulado por un atacante puede insertar código malicioso en esa cadena, de modo que cuando la función sintética se evalúa finalmente, el código inyectado se ejecuta en el contexto del proceso que carga el esquema.

Ese vector convierte un esquema malicioso en una puerta para acceder a variables de entorno, secretos, conexiones a bases de datos y otros recursos internos; también permite movimientos laterales si la aplicación está desplegada en infraestructura compartida. No es sólo un riesgo para servidores: si desarrolladores cargan y decodifican esquemas no confiables en sus máquinas locales, también pueden quedar comprometidos sus entornos de trabajo.
El problema fue descubierto por el investigador Cristian Staicu y documentado por la compañía de seguridad Endor Labs en un informe detallado; la vulnerabilidad está registrada en GitHub como GHSA-xq3m-2v4x-88gg y Endor Labs explica el mecanismo y muestra un PoC en su análisis (informe de Endor Labs). Aunque los autores del informe han señalado que la explotación es sencilla, por ahora no se ha confirmado actividad maliciosa extendida en entornos de producción.
La vulnerabilidad afecta a versiones de protobuf.js anteriores o iguales a 8.0.0 y 7.5.4. Los mantenedores publicaron correcciones que están disponibles en las ramas principales: la serie 8.x se corrigió con la versión 8.0.1 y la serie 7.x con la 7.5.5; los paquetes npm con los parches se publicaron en abril (actualizaciones para 8.x y 7.x en distintas fechas). Puede consultar el repositorio y las notas de seguridad en la página del proyecto en GitHub: protobuf.js en GitHub y sus releases.
La solución urgente que se aplicó en el parche consiste en sanitizar los nombres de tipo, eliminando caracteres no alfanuméricos para impedir que un atacante cierre la función sintética y agregue instrucciones maliciosas. Sin embargo, los expertos apuntan que una corrección más robusta pasa por dejar de usar por completo la generación dinámica de código con Function() para procesar identificadores que pueden venir de fuentes externas: evitar el “round-tripping” de identificadores a través de código generado es una reparación de diseño más segura y duradera.
Si tu proyecto depende de protobuf.js, actúa ya: actualiza a las versiones parcheadas, comprueba el grafo de dependencias en busca de versiones vulnerables (incluso como dependencias transitivas) y trata la carga de esquemas como entrada no confiable. Para equipos en producción, una práctica recomendada es emplear esquemas precompilados o estáticos en lugar de generar y evaluar código en tiempo de ejecución. Endor Labs también sugiere auditar dependencias transitivas y revisar pipelines de CI/CD que puedan introducir esquemas no verificados.

En términos prácticos, puedes verificar qué versión está instalada con comandos del gestor de paquetes (por ejemplo, inspeccionando package.json o usando herramientas como npm ls) y forzar actualizaciones a las versiones seguras (por ejemplo npm install protobufjs@^8.0.1 o la versión 7.5.5 según la rama que uses). Además, es recomendable incorporar escaneos automáticos de software en el pipeline y políticas que eviten la descarga y ejecución de esquemas procedentes de orígenes no controlados.
La divulgación pública incluyó un PoC en la propia asesoría de seguridad del proyecto, lo que facilita a equipos técnicos replicar el problema para validarlo en entornos controlados; la asesoría oficial en GitHub contiene el enlace a ese ejemplo y a la discusión técnica (asesoría en GitHub). Si necesitas más contexto sobre el hallazgo y recomendaciones técnicas, el análisis de Endor Labs está bien documentado y vale la pena leerlo detenidamente: informe de Endor Labs.
La lección para la comunidad de desarrollo es doble: por un lado, la gran conveniencia de generar código dinámicamente trae riesgos cuando las entradas no están bien validadas; por otro, la enorme dependencia en bibliotecas compartidas hace que una sola vulnerabilidad pueda tener un alcance amplio. Actualizar, auditar y reducir la superficie de exposición sigue siendo la mejor defensa.
Relacionadas
Mas noticias del mismo tema.

Florida, Iowa, Montana y Nebraska demandan a TP-Link Systems por seguridad y procedencia de routers
El 6 de octubre, cuatro fiscales generales estatales presentaron demandas contra TP-Link Systems en tribunales estatales de Estados Unidos —sumándose a una querella previa de Te...

FBI y seis países vinculan a Integrity Technology Group con robo de correos de entidades en SE Asia
El 8 de octubre, el FBI y agencias de seis países publicaron una advertencia conjunta que atribuye a una empresa china, Integrity Technology Group, una serie sostenida de intrus...

Campaña con LLM y ARTEX ataca entidades financieras surcoreanas y exfiltra datos
Investigadores de seguridad han documentado una campaña dirigida contra entidades financieras surcoreanas en la que se utilizaron herramientas de ataque impulsadas por modelos d...

Campaña ChainDrop expone tensorlake en npm; versión 0.5.144 retirada
Un paquete de npm llamado tensorlake, un SDK en TypeScript orientado a aplicaciones y servicios de Tensorlake, fue comprometido en una campaña de cadena de suministro vinculada ...

Riesgo cibernético en 2026 se desplaza a flujos de trabajo e IA, según Voice of the CISO
Los datos agregados por cinco ediciones del estudio Voice of the CISO —incluyendo los hallazgos más recientes de 2026— dibujan un cambio menos de intensidad que de ubicación del...

Phishing BitB apunta a profesionales de publicidad y administradores de cuentas para robar MFA
Investigadores de seguridad han descrito una campaña de phishing dirigida a profesionales de publicidad y administradores de cuentas que usa una plataforma operada por humanos p...

Calc de LibreOffice/OpenOffice permite ejecución de código remoto al abrir hojas con ODB/JDBC
Investigadores han demostrado que una hoja de cálculo maliciosa puede obligar a LibreOffice y Apache OpenOffice a ejecutar código controlado por un atacante en el momento en que...