CVE-2026-40072 Vulnerability Analysis & Exploit Details

CVE-2026-40072
Vulnerability Scoring

7.2
/10
Very High Risk

Highly exploitable, CVE-2026-40072 poses a critical security risk that could lead to severe breaches.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Changed
    Successful exploitation can impact components beyond the vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2026-40072 Details

Status: Analyzed

Last updated: 🕟 02 Jun 2026, 16:48 UTC
Originally published on: 🕕 09 Apr 2026, 18:17 UTC

Time between publication and last update: 53 days

CVSS Release: version 3

CVSS3 Source

nvd@nist.gov

CVSS3 Type

Primary

CVSS3 Vector

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

CVE-2026-40072 Vulnerability Summary

CVE-2026-40072: web3.py allows you to interact with the Ethereum blockchain using Python. From 6.0.0b3 to before 7.15.0 and 8.0.0b2, 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. 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. This vulnerability is fixed in 7.15.0 and 8.0.0b2.

Assessing the Risk of CVE-2026-40072

Access Complexity Graph

The exploitability of CVE-2026-40072 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2026-40072

With low attack complexity and no required privileges, CVE-2026-40072 is an easy target for cybercriminals. Organizations should prioritize immediate mitigation measures to prevent unauthorized access and data breaches.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2026-40072, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2026-40072, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: Low
    CVE-2026-40072 could lead to minor leaks of non-critical information without major privacy breaches.
  • Integrity: Low
    Exploiting CVE-2026-40072 may cause minor changes to data without severely impacting its accuracy.
  • Availability: None
    CVE-2026-40072 does not impact system availability.

CVE-2026-40072 References

External References

CWE Common Weakness Enumeration

CWE-918

CAPEC Common Attack Pattern Enumeration and Classification

  • Server Side Request Forgery CAPEC-664 An adversary exploits improper input validation by submitting maliciously crafted input to a target application running on a server, with the goal of forcing the server to make a request either to itself, to web services running in the server’s internal network, or to external third parties. If successful, the adversary’s request will be made with the server’s privilege level, bypassing its authentication controls. This ultimately allows the adversary to access sensitive data, execute commands on the server’s network, and make external requests with the stolen identity of the server. Server Side Request Forgery attacks differ from Cross Site Request Forgery attacks in that they target the server itself, whereas CSRF attacks exploit an insecure user authentication mechanism to perform unauthorized actions on the user's behalf.

Vulnerable Configurations

  • cpe:2.3:a:apeworx:web3.py:6.1.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.1.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.2.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.2.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.3.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.3.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.4.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.4.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.5.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.5.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.6.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.6.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.6.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.6.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.7.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.7.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.8.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.8.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.9.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.9.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.10.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.10.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.11.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.11.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.11.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.11.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.11.2:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.11.2:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.11.3:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.11.3:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.11.4:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.11.4:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.12.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.12.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.13.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.13.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.14.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.14.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.15.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.15.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.15.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.15.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.16.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.16.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.17.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.17.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.17.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.17.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.17.2:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.17.2:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.18.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.18.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.19.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.19.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.20.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.20.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.20.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.20.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.20.2:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.20.2:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.20.3:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.20.3:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.20.4:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.20.4:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:-:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:-:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta1:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta1:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta2:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta2:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta3:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta3:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta4:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta4:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta5:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta5:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta6:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta6:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta7:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta7:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta8:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta8:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.0.0:beta9:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.0.0:beta9:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.1.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.1.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.2.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.2.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.3.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.3.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.3.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.3.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.4.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.4.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.5.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.5.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.6.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.6.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.6.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.6.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.7.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.7.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.8.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.8.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.9.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.9.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.10.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.10.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.11.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.11.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.11.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.11.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.12.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.12.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.12.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.12.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.13.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.13.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.14.0:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.14.0:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:7.14.1:*:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:7.14.1:*:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:-:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:-:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta10:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta10:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta11:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta11:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta3:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta3:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta4:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta4:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta5:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta5:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta6:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta6:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta7:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta7:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta8:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta8:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:6.0.0:beta9:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:6.0.0:beta9:*:*:*:python:*:*
  • cpe:2.3:a:apeworx:web3.py:8.0.0:beta1:*:*:*:python:*:*
    cpe:2.3:a:apeworx:web3.py:8.0.0:beta1:*:*:*:python:*:*

Protect Your Infrastructure against CVE-2026-40072: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2026-56698 – Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 fail to validate script-capable URLs in the navigateTo open option, allowing client-side scr...
  • CVE-2026-56697 – Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 accept protocol-relative paths such as //evil.com in the reloadNuxtApp function; these pass ...
  • CVE-2026-56357 – n8n before 1.123.15 and 2.5.0 contains a webhook forgery vulnerability in the GitHub Webhook Trigger node that fails to implement HMAC-SHA256 signa...
  • CVE-2026-56348 – n8n before 2.20.0 contains a credential exfiltration vulnerability in the POST /rest/dynamic-node-parameters/options endpoint that allows authentic...
  • CVE-2026-56326 – Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 contain a server-side open redirect vulnerability in navigateTo that fails to properly valid...