CVE-2026-40072
web3.py affecté par une SSRF via la gestion des URL OffchainLookup de CCIP Read (EIP-3668)
- Publié
- 9 avr. 2026
- Mise à jour
- 9 avr. 2026
- Attribution de CNA
- GitHub_M
- Preuve observée
- 17 août 2026
CVSS primaire
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XFaible · 30 prochains jours
- Percentile
- 13,9 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
web3.py vous permet d'interagir avec la blockchain Ethereum en utilisant Python. De la version 6.0.0b3 à avant 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 des contrats intelligents dans `offchain_lookup_payload["urls"]`. L'implémentation utilise ces URL fournies par les contrats directement (après substitution du modèle `{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 activation explicite. Cela entraîne une Server-Side Request Forgery (SSRF) lorsque web3.py est utilisé dans des services backend, des indexeurs, des API ou tout environnement qui exécute `eth_call` / `.call()` contre 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 des destinations arbitraires, y compris des services réseau internes et des points de terminaison de métadonnées cloud. Cette vulnérabilité est corrigée dans les versions 7.15.0 et 8.0.0b2.
Sources
1Laboratoire pratique pour CVE-2026-40072 — Vulnérabilité SSRF dans web3.py via CCIP Read (EIP-3668)
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.