Server-side request forgery in Web3.py CCIP Read URL validation
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
Web3.py from 7.15.0 through 7.16.0 and from 8.0.0b2 through 8.0.0 is affected. The _check_ip_blocked() function does not unwrap IPv4-mapped IPv6 addresses during CCIP Read URL validation, which is a server-side request forgery flaw (CWE-918). A malicious contract can return an OffchainLookup URL with an IPv4-mapped IPv6 host or AAAA record, making clients with CCIP Read enabled send requests to loopback, private, or link-local services.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Web3.py 7.15.0 through 7.16.0 and 8.0.0b2 through 8.0.0 contains a server-side request forgery vulnerability because _check_ip_blocked() does not unwrap IPv4-mapped IPv6 addresses in CCIP Read URL validation. Malicious contracts can return OffchainLookup URLs with IPv4-mapped IPv6 hosts or AAAA records, making clients with CCIP Read enabled send requests to loopback, private, or link-local services.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for Web3.py.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-16 Threatist record created from CVE-2026-111171
References
More ethereum vulnerabilities
- TI-2023-22561 Geth (aka go-ethereum) through 1.13.4, when --http --graphql is used, allows remote… CVSS 3.1HIGH 7.5
- TI-2017-10558 Out-of-bounds read in CPP-Ethereum CVSS 3.1CRITICAL 10.0
- TI-2018-11329 An issue was discovered in EthereumJ 1.8.2. CVSS 3.0CRITICAL 9.8
- TI-2026-21270 Go Ethereum affected by DoS via malicious p2p message CVSS 4.0HIGH 8.7
- TI-2025-18585 go-ethereum has a DoS via malicious p2p message CVSS 4.0HIGH 8.7
- TI-2026-28903 web3.py affected by SSRF via CCIP Read (EIP-3668) OffchainLookup URL handling CVSS 4.0LOW 1.7
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences