Skip to content

← Public intelligence

PyPI package

web3

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 6.9PyPIAmendedPublished

    web3.py: SSRF via CCIP Read (EIP-3668) OffchainLookup URL handling

    CVE-2026-111171 · GHSA-5hr4-253g-cpx2

    Affected
    • PyPI web3 >= 6.0.0b3, < 7.15.0; >= 8.0.0b1, <= 8.0.0b1
    Fixed in
    8.0.0b27.15.0· Vendor fix available
    Issue
    web3.py implements CCIP Read / OffchainLookup (EIP-3668) by performing HTTP requests to URLs supplied by smart contracts in offchainlookuppayload["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 (globalccipreadenabled = 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 ethcall / .call() against untrusted or user-supplied contract addresses. A malicious contract can force the web3.py…

    Recommended action: Upgrade to 8.0.0b2 (pre-release) or 7.15.0 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →