RCE por compilación dinámica en MITRE Caldera (CVE-2025-27364)

MITRE Caldera es una plataforma de emulación de adversarios cuyos agentes – en particular Sandcat y Manx – se compilan dinámicamente en el momento de la descarga. Todas las versiones de Caldera lanzadas antes del commit 35bc06e (incluyendo las versiones más antiguas) son vulnerables.
Esta vulnerabilidad se vuelve explotable cuando el sistema objetivo tiene instalados Go, Python y gcc, dependencias generalmente requeridas para el funcionamiento completo de Caldera. En muchas distribuciones, la instalación de Go conlleva también la instalación de gcc, lo que aumenta aún más la exposición.

ProductoCaldera Framework
Fecha2025-03-10 14:47:04
Información
  • Tendencia
  • Corrección disponible

Resumen técnico

La vulnerabilidad reside en la funcionalidad de compilación dinámica utilizada por los agentes de Caldera. Cuando se solicita un agente, el servidor compila dinámicamente un binario personalizado inyectando parámetros controlables por el usuario (como métodos de comunicación, claves de cifrado y direcciones de callback) dentro de los flags del enlazador (linker). El problema principal es la gestión insegura de estos flags del enlazador, en particular mediante el uso de opciones como -X (similar al -D de gcc), así como los peligrosos flags -extld y -extldflags.

Aunque la compilación se ejecuta mediante subprocess.check_output() sin shell=True (lo que mitiga parte de los riesgos de inyección directa), un atacante puede manipular el proceso de compilación abusando de los flags del enlazador. Al configurar un enlazador externo (por ejemplo, gcc o clang) y pasar argumentos controlados por el atacante a través de -extldflags, es posible ejecutar comandos arbitrarios durante el proceso de compilación.

Una prueba de concepto (PoC) ha demostrado cómo valores construidos adecuadamente en los encabezados HTTP pueden desencadenar este comportamiento, lo que lleva a la ejecución remota de código en sistemas vulnerables.

Recomendaciones

  • Actualizar inmediatamente:
    Cambiar a una versión corregida de MITRE Caldera (la última versión de la rama Master o la v5.1.0 y posteriores) que soluciona esta vulnerabilidad.

  • Limitar el acceso a la red:
    Permitir el acceso al servidor Caldera solo desde hosts de confianza, reduciendo el riesgo de exploits no autorizados.

  • Reforzar los entornos de compilación:
    Eliminar o limitar las herramientas de compilación innecesarias (Go, Python, gcc) en los sistemas de producción, o aislar el servidor Caldera en un entorno controlado.

  • Monitorear y auditar:
    Aumentar el nivel de monitoreo y registro (logging) para detectar actividades anómalas que podrían indicar intentos de explotación. Verificar regularmente la configuración y los controles de acceso en los puntos finales de compilación dinámica.

[Callforaction-THREAT-Footer]