Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. web3
  4. ›
  5. GHSA-5hr4-253g-cpx2

GHSA-5hr4-253g-cpx2: web3.py: SSRF via CCIP Read (EIP-3668) OffchainLookup URL handling

April 4, 2026

web3.py implements CCIP Read / OffchainLookup (EIP-3668) by performing HTTP requests to URLs supplied by smart contracts in offchain_lookup_payload["urls"]. The implementation uses these contract-supplied URLs directly (after {sender} / {data} template substitution) without any destination validation:

  • No restriction to https:// (and no opt-in gate for http://)
  • No hostname or IP allowlist
  • No blocking of private/reserved IP ranges (loopback, link-local, RFC1918)
  • No redirect target validation (both requests and aiohttp follow redirects by default)

CCIP Read is enabled by default (global_ccip_read_enabled = True on all providers), meaning any application using web3.py’s .call() method is exposed without explicit opt-in.

This results in Server-Side Request Forgery (SSRF) when web3.py is used in backend services, indexers, APIs, or any environment that performs eth_call / .call() against untrusted or user-supplied contract addresses. A malicious contract can force the web3.py process to issue HTTP requests to arbitrary destinations, including internal network services and cloud metadata endpoints.


References

  • github.com/advisories/GHSA-5hr4-253g-cpx2
  • github.com/ethereum/web3.py
  • github.com/ethereum/web3.py/security/advisories/GHSA-5hr4-253g-cpx2

Code Behaviors & Features

Detect and mitigate GHSA-5hr4-253g-cpx2 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 6.0.0b3 before 7.15.0, all versions starting from 8.0.0b1 before 8.0.0b2, version 8.0.0b1

Fixed versions

  • 7.15.0
  • 8.0.0b2

Solution

Upgrade to versions 7.15.0, 8.0.0b2 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-918: Server-Side Request Forgery (SSRF)

Source file

pypi/web3/GHSA-5hr4-253g-cpx2.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 05 Apr 2026 00:18:25 +0000.