
Laboratório prático para CVE-2026-40072 — vulnerabilidade SSRF em web3.py via CCIP Read (EIP-3668)
Laboratório local prático para demonstrar o CVE-2026-40072 no web3.py, exibir o impacto do SSRF no Burp Suite e verificar a correção oficial.
Este repositório contém uma prova de conceito segura e apenas local para o CVE-2026-40072, um problema de Server-Side Request Forgery (SSRF) relacionado ao tratamento de CCIP Read / OffchainLookup no web3.py. O laboratório usa Kali Linux, um ambiente virtual Python, Flask como um serviço interno falso e Burp Suite para interceptar a requisição de saída.
Este laboratório é apenas para uso autorizado, local e educacional. Execute tudo em seu próprio ambiente isolado. Não teste contra sistemas que você não possui ou não tem permissão para avaliar.
python3 -m venv ~/ssrf-lab
source ~/ssrf-lab/bin/activate
pip install -r requirements.txt
Se o Kali bloquear o pip no sistema, continue usando o venv acima.
source ~/ssrf-lab/bin/activate
python3 lab/fake_internal_server.py
Mantenha este terminal aberto. Ele simula um endpoint interno sensível.
127.0.0.1:8080.source ~/ssrf-lab/bin/activate
python3 lab/ssrf_demo.py
A requisição deve aparecer no Burp e o serviço falso deve retornar uma string de credencial de demonstração.
Atualize para a versão corrigida:
pip install "web3==7.15.0"
Em seguida, confirme a versão:
pip show web3 | grep Version
Execute o script de verificação:
python3 lab/ssrf_fixed_check.py
Você deve confirmar o ambiente corrigido e documentar que a requisição SSRF não ocorre mais.
MIT