CVE-2026-40072 in web3.py
요약
\~에 의해 VulDB • 2026. 06. 05.
web3.py는 Python을 사용하여 이더리움 블록체인과 상호 작용할 수 있게 해줍니다. 버전 6.0.0b3부터 7.15.0 미만 및 8.0.0b2까지, web3.py는 offchain_lookup_payload["urls"]에서 스마트 계약이 제공하는 URL로 HTTP 요청을 수행함으로써 CCIP Read / OffchainLookup(EIP-3668)를 구현합니다. 이 구현은 {sender}와 {data} 템플릿 치환 후에도 이러한 계약 제공 URL을 목적지 검증 없이 직접 사용합니다. CCIP Read는 모든 공급자에서 전역적으로 활성화되어 있으며(global_ccip_read_enabled = True), 명시적인 옵트인(opt-in) 절차 없이 web3.py의 .call() 메서드를 사용하는 모든 애플리케이션이 노출됩니다. 이로 인해 백엔드 서비스, 인덱서, API 또는 신뢰할 수 없거나 사용자가 제공한 계약 주소에 대해 eth_call / .call()을 수행하는 환경에서 web3.py를 사용할 경우 서버 측 요청 위조(SSRF)가 발생합니다. 악의적인 스마트 계약은 web3.py 프로세스가 내부 네트워크 서비스 및 클라우드 메타데이터 엔드포인트를 포함한 임의의 목적지로 HTTP 요청을 발행하도록 강요할 수 있습니다. 이 취약점은 7.15.0과 8.0.0b2에서 수정되었습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.