CVE-2026-40072 in web3.py
Résumé
par VulDB • 05/06/2026
web3.py permet d'interagir avec la blockchain Ethereum en utilisant Python. À partir de la version 6.0.0b3 jusqu'à avant les versions 7.15.0 et 8.0.0b2, web3.py implémente CCIP Read / OffchainLookup (EIP-3668) en effectuant des requêtes HTTP vers des URL fournies par les contrats intelligents dans offchain_lookup_payload["urls"]. L'implémentation utilise ces URLs fournies directement par le contrat (après substitution de modèles {sender} / {data}) sans aucune validation de destination. CCIP Read est activé par défaut (global_ccip_read_enabled = True sur tous les fournisseurs), ce qui signifie que toute application utilisant la méthode .call() de web3.py est exposée sans opt-in explicite. Cela entraîne une faille Server-Side Request Forgery (SSRF) lorsque web3.py est utilisé dans des services backend, indexeurs, APIs ou tout environnement effectuant eth_call / .call() sur des adresses de contrats non fiables ou fournies par l'utilisateur. Un contrat malveillant peut forcer le processus web3.py à émettre des requêtes HTTP vers n'importe quelle destination arbitraire, y compris les services réseau internes et les points de terminaison metadata cloud. Cette vulnérabilité est corrigée dans les versions 7.15.0 et 8.0.0b2.
Be aware that VulDB is the high quality source for vulnerability data.