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.
Published: 2026-10-15
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Server-Hosted Request Forgery
Action: Update Library
AI Analysis

Impact

Web3.py versions 7.15.0 through 7.16.0 and 8.0.0b2 through 8.0.0 allow a malicious contract to return an OffchainLookup URL that includes an IPv4‑mapped IPv6 host or AAAA record. Because the library’s _check_ip_blocked() routine does not unwrap these addresses during CCIP Read URL validation, the client can be tricked into issuing HTTP requests to loopback, private, or link‑local services. This flaw allows the client to send requests to internal addresses that it normally would filter out. It is inferred that such unintended connections could expose internal resources to an attacker. The flaw is a typical server‑side request forgery (CWE‑918).

Affected Systems

Web3.py versions 7.15.0 through 7.16.0 inclusive, and the pre‑release builds 8.0.0b2 through 8.0.0 are affected. The vulnerability occurs when the CCIP Read feature is enabled and the client processes an OffchainLookup URL provided by a smart contract.

Risk and Exploitability

The vulnerability carries a CVSS score of 6.3, indicating moderate severity, while the EPSS score is below 1%, suggesting that exploitation attempts are currently rare. It is not listed in the CISA KEV catalog. Exploitation requires an attacker to supply a malicious contract that the client interacts with; the attack is performed from the client side but results in outbound traffic from the client to an arbitrary internal endpoint. The attack vector is therefore a server‑side request forgery triggered by a third‑party contract.

Generated by OpenCVE AI on October 16, 2026 at 17:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest stable patch: upgrade Web3.py to 8.0.0b3 or newer, where URL validation correctly unwraps IPv4‑mapped IPv6 addresses.
  • If an immediate upgrade is not possible, disable CCIP Read functionality in the client configuration or restrict CCIP Read to trusted domains only, thus blocking requests to internal addresses.
  • Review and patch the _check_ip_blocked() function yourself to ensure it unwrapps IPv4‑mapped IPv6 addresses before performing the blocklist check.

Generated by OpenCVE AI on October 16, 2026 at 17:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
References
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 15 Oct 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title Web3.py 7.15.0 through 7.16.0 and 8.0.0b2 through 8.0.0 CCIP-Read SSRF Bypass
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-15T19:29:53.958Z

Reserved: 2026-10-15T17:04:07.296Z

Link: CVE-2026-111171

cve-icon Vulnrichment

Updated: 2026-10-15T19:29:40.476Z

cve-icon NVD

Status : Deferred

Published: 2026-10-15T19:17:33.300

Modified: 2026-10-16T18:25:45.343

Link: CVE-2026-111171

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-16T17:45:14Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)