PT-2026-31674 · Pypi · Web3.Py
Nadav0077
·
Publicado
2026-04-04
·
Atualizado
2026-06-02
·
CVE-2026-40072
CVSS v3.1
7.2
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
Name of the Vulnerable Software and Affected Versions
web3.py versões 6.0.0b3 até 7.15.0
web3.py versões 6.0.0b3 até 8.0.0b2
Description
o web3.py implementa o CCIP Read / OffchainLookup (EIP-3668) realizando requisições HTTP para URLs fornecidas por contratos inteligentes na variável
offchain lookup payload["urls"]. A implementação utiliza essas URLs diretamente após a substituição de templates {sender} e {data} sem validação de destino, carecendo de restrições de esquemas, listas de permissões de hostname ou bloqueio de intervalos de IP privados e reservados. Como o CCIP Read é habilitado por padrão através da variável global ccip read enabled, qualquer aplicação que utilize o método .call() está exposta.Isso resulta em Server-Side Request Forgery (SSRF) quando a biblioteca é usada em serviços de backend, indexadores ou APIs que executam
eth call ou .call() contra endereços de contratos não confiáveis. Um contrato malicioso pode forçar o processo a emitir requisições HTTP GET ou POST para destinos arbitrários, como serviços de rede interna, endereços de loopback e endpoints de metadados de nuvem. O problema é amplificado pois a biblioteca segue redirecionamentos HTTP por padrão sem validar a URL final resolvida.Recommendations
Atualize o web3.py para a versão 7.15.0 ou 8.0.0b2.
Como solução temporária, desabilite o CCIP Read definindo
global ccip read enabled como False ao chamar contratos não confiáveis.Correção
SSRF
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Web3.Py