{"id":"CVE-2026-111171","title":"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","summary":"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 retu…","severity":"medium","cvss":5.4,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","cwe":["CWE-918"],"vendor":"ethereum","product":"web3.py","affected":["web3.py >= 7.15.0 <= 7.16.0","web3.py >= 8.0.0b2 <= 8.0.0"],"patched":["web3 7.15.0","web3 8.0.0b2"],"published":"2026-10-15","updated":"2026-10-16","sourceUpdated":"2026-10-16T18:25:45.343","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-111171","references":[{"url":"https://github.com/ethereum/web3.py","label":"disclosure@vulncheck.com"},{"url":"https://github.com/ethereum/web3.py/blob/c8c1ed0c9e77e1a8b74902e6a6825e0b00534b10/web3/utils/ccip_url_validation.py#L16-L57","label":"disclosure@vulncheck.com"},{"url":"https://github.com/ethereum/web3.py/pull/3875","label":"disclosure@vulncheck.com"},{"url":"https://github.com/ethereum/web3.py/security/advisories/GHSA-5hr4-253g-cpx2","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/web3-py-7.15.0-through-7.16.0-and-8.0-0b2-through-8.0.0-ccip-read-ssrf-bypass","label":"disclosure@vulncheck.com"},{"url":"https://github.com/ApeWorX/web3.py/security/advisories/GHSA-5hr4-253g-cpx2","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40072"},{"url":"https://github.com/ethereum/web3.py/commit/b1c57bb0a124359c9902daaefab4d8af7c3c4c1e"},{"url":"https://pypi.org/project/web3"},{"url":"https://github.com/advisories/GHSA-5hr4-253g-cpx2"}],"tags":["nvd","cve.org","exploit-available","osv","pip"],"epss":0.00341,"epssPercentile":0.27464,"aliases":["GHSA-5hr4-253g-cpx2","CVE-2026-40072","PYSEC-2026-3414"],"ecosystem":"pip","exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-10-15T19:29:17.459655Z"},"scores":{"nvd":5.4,"osv":7.2},"ingestedAt":"2026-10-15T19:25:46.425Z","slug":"CVE-2026-111171","body":"## Overview\n\nWeb3.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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-111171)\n\nAffected packages:\n\n- `web3 >= 6.0.0b3, < 7.15.0`\n- `web3 >= 8.0.0b1, < 8.0.0b2`\n\nPatched in:\n\n- `web3 7.15.0`\n- `web3 8.0.0b2`\n\nSource: https://osv.dev/vulnerability/GHSA-5hr4-253g-cpx2","depth":"twilight","depthScore":42,"depthScoreParts":{"impact":29.7,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":222737,"id":"CVE-2026-111171","ts":1792097073500,"field":"exploit_available","old":"false","new":"true"}]}