PT-2026-31674 · Pypi · Web3.Py

Nadav0077

·

Publicado

2026-04-04

·

Atualizado

2026-06-02

·

CVE-2026-40072

CVSS v3.1

7.2

Alta

VetorAV: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

CVE-2026-40072
GHSA-5HR4-253G-CPX2

Produtos afetados

Web3.Py