CVE-2026-111171CVE-2026-40072GHSA-5hr4-253g-cpx2PYSEC-2026-3414
Web3.py 7.15.0 through 7.16.0 and 8.0.0b2 through 8.0.0 CCIP-Read SSRF Bypass
ethereum web3.pyPyPILibraries & packages
CVSS
6.3MediumExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 15 Oct 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.34%Chance of exploitation activity in the next 30 days, higher than 26% of CVEs. Scored 23 Oct 2026FIRST EPSS
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 55
- web3.pyaffected: 7.15.0 through 7.16.0CVE List
- web3.pyaffected: 8.0.0b2 through 8.0.0CVE List
- web3, PyPIfrom 6.0.0b3, fixed in 7.15.0OSV
- web3, PyPI6.0.0OSV
- web3, PyPI6.0.0b10OSV
- web3, PyPI6.0.0b11OSV
- web3, PyPI6.0.0b3OSV
- web3, PyPI6.0.0b4OSV
- web3, PyPI6.0.0b5OSV
- web3, PyPI6.0.0b6OSV
- web3, PyPI6.0.0b7OSV
- web3, PyPI6.0.0b8OSV
- web3, PyPI6.0.0b9OSV
- web3, PyPI6.1.0OSV
- web3, PyPI6.10.0OSV
- web3, PyPI6.11.0OSV
- web3, PyPI6.11.1OSV
- web3, PyPI6.11.2OSV
- web3, PyPI6.11.3OSV
- web3, PyPI6.11.4OSV
- web3, PyPI6.12.0OSV
- web3, PyPI6.13.0OSV
- web3, PyPI6.14.0OSV
- web3, PyPI6.15.0OSV
- web3, PyPI6.15.1OSV
- web3, PyPI6.16.0OSV
- web3, PyPI6.17.0OSV
- web3, PyPI6.17.1OSV
- web3, PyPI6.17.2OSV
- web3, PyPI6.18.0OSV
- web3, PyPI6.19.0OSV
- web3, PyPI6.2.0OSV
- web3, PyPI6.20.0OSV
- web3, PyPI6.20.1OSV
- web3, PyPI6.20.2OSV
- web3, PyPI6.20.3OSV
- web3, PyPI6.20.4OSV
- web3, PyPI6.3.0OSV
- web3, PyPI6.4.0OSV
- web3, PyPI6.5.0OSV
- web3, PyPI6.6.0OSV
- web3, PyPI6.6.1OSV
- web3, PyPI6.7.0OSV
- web3, PyPI6.8.0OSV
- web3, PyPI6.9.0OSV
- web3, PyPI7.0.0OSV
- web3, PyPI7.0.0b1OSV
- web3, PyPI7.0.0b2OSV
- web3, PyPI7.0.0b3OSV
- web3, PyPI7.0.0b4OSV
- web3, PyPI7.0.0b5OSV
- web3, PyPI7.0.0b6OSV
- web3, PyPI7.0.0b7OSV
- web3, PyPIfrom 8.0.0b1, fixed in 8.0.0b2OSV
- web3, PyPI8.0.0b1OSV
References 6
- github.com/ethereum/web3.py/pull/3875Fixvia CVE List
- github.com/ethereum/web3.py/security/advisories/GHSA-5hr4-253g-cpx2Advisoryvia CVE List
- vulncheck.com/advisories/web3-py-7.15.0-through-7.16.0-and-8.0-0b2-through-8.0.0-ccip-read-ssrf-bypassAdvisoryvia CVE List
- github.com/ApeWorX/web3.py/security/advisories/GHSA-5hr4-253g-cpx2Exploitvia CVE List
- github.com/ethereum/web3.py/blob/c8c1ed0c9e77e1a8b74902e6a6825e0b00534b10/web3/utils/ccip_url_validation.py#L16-L57Referencevia CVE List
- github.com/ethereum/web3.pyReferencevia CVE List