Resumen
Se ha revelado una vulnerabilidad de Inyección de Código de extrema gravedad en la popular librería protobufjs, utilizada para compilar definiciones de Protocol Buffers en funciones de JavaScript.
Contenido
Se ha revelado una vulnerabilidad de Inyección de Código de extrema gravedad en la popular librería protobufjs, utilizada para compilar definiciones de Protocol Buffers en funciones de JavaScript. El fallo permite a un atacante ejecutar código arbitrario directamente en el servidor o cliente que procese los datos.
🔍 El Problema: Inyección en campos "type"
La vulnerabilidad reside en cómo protobufjs compila las definiciones. Un atacante con permisos básicos puede inyectar código malicioso en los campos de "tipo" de una definición de protobuf.
Al momento de realizar la decodificación de un objeto utilizando esa definición comprometida, el motor de JavaScript ejecuta el código inyectado. Dado que el vector de ataque es Red (AV:N) y la complejidad es Baja (AC:L), el riesgo de explotación masiva es inminente.
Análisis del Impacto (CVSS 4.0)
La puntuación de 9.4 refleja un compromiso total:
- Confidencialidad: ALTA (Acceso total a datos).
- Integridad: ALTA (Modificación de archivos y lógica).
- Disponibilidad: ALTA (Posibilidad de dejar el servicio inoperativo).
🛡️ Solución y Mitigación
Los mantenedores de protobufjs han lanzado parches de seguridad de forma urgente. Se recomienda actualizar inmediatamente a las siguientes versiones:
- Si usas la rama 7.x: Actualiza a v7.5.5
- Si usas la rama 8.x: Actualiza a v8.0.1
Pasos recomendados para Administradores y Devs:
- Auditoría de dependencias: Ejecuta npm audit o yarn audit para localizar versiones vulnerables.
- Parche inmediato: Forzar la actualización de la librería en el archivo package.json.
- Validación de esquemas: Si tu aplicación permite que usuarios externos carguen definiciones de protobuf, revisa los controles de validación de entrada.