CVE-2022-29255: CWE-670: Always-Incorrect Control Flow Implementation in vyperlang vyper
Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue has been addressed in v0.3.4.
AI Analysis
Technical Summary
CVE-2022-29255 is a vulnerability identified in the Vyper programming language, a Pythonic smart contract language designed for the Ethereum Virtual Machine (EVM). The vulnerability affects versions of Vyper prior to 0.3.4. Specifically, when a smart contract written in Vyper calls an external contract that does not return a value, the contract address and any associated side effects may be evaluated twice due to an incorrect control flow implementation (classified under CWE-670: Always-Incorrect Control Flow Implementation). This double evaluation can lead to unintended behavior in the smart contract, potentially causing incorrect outcomes or logic errors. Since smart contracts often handle financial transactions or critical logic, such an error could result in loss of funds, incorrect state changes, or vulnerabilities exploitable by attackers. The issue was addressed and fixed in version 0.3.4 of Vyper. There are no known exploits in the wild at the time of reporting, and no CVSS score has been assigned to this vulnerability. The problem arises from the way Vyper handles external contract calls without return values, which is a subtle but critical aspect of smart contract execution flow and state management on the Ethereum blockchain.
Potential Impact
For European organizations utilizing Vyper to develop or deploy Ethereum smart contracts, this vulnerability poses a risk of contract malfunction or unintended behavior. Financial institutions, fintech companies, and blockchain service providers in Europe that rely on Vyper for smart contract development could face risks including incorrect transaction processing, loss of funds, or compromised contract logic integrity. Given the immutable nature of deployed smart contracts, any flawed contract logic due to this vulnerability could be difficult to rectify post-deployment, potentially leading to financial losses or reputational damage. Additionally, organizations involved in decentralized finance (DeFi), supply chain management, or digital identity solutions using Vyper-based contracts may experience disruptions or exploitation attempts if the vulnerability is present in their deployed contracts. Although no known exploits are reported, the potential for incorrect contract behavior makes it a medium-risk issue that requires prompt attention to prevent future exploitation or operational failures.
Mitigation Recommendations
European organizations should immediately audit their smart contracts developed with Vyper versions prior to 0.3.4 to identify any contracts that perform external calls without return values. It is critical to upgrade all Vyper development environments and toolchains to version 0.3.4 or later to incorporate the fix. For already deployed contracts, organizations should assess the feasibility of deploying patched contract versions or implementing compensating controls such as transaction monitoring and anomaly detection to identify unexpected contract behavior. Incorporating rigorous testing and formal verification methods focusing on external call handling can help detect similar control flow issues. Additionally, organizations should establish secure development lifecycle practices for smart contracts, including dependency management and vulnerability scanning for language compilers and tools. Collaboration with blockchain security auditors to review contracts for this specific flaw is recommended. Finally, educating developers about the implications of external calls and control flow in smart contracts will reduce the risk of introducing similar vulnerabilities in the future.
Affected Countries
Germany, France, Netherlands, Switzerland, United Kingdom, Estonia
CVE-2022-29255: CWE-670: Always-Incorrect Control Flow Implementation in vyperlang vyper
Description
Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue has been addressed in v0.3.4.
AI-Powered Analysis
Technical Analysis
CVE-2022-29255 is a vulnerability identified in the Vyper programming language, a Pythonic smart contract language designed for the Ethereum Virtual Machine (EVM). The vulnerability affects versions of Vyper prior to 0.3.4. Specifically, when a smart contract written in Vyper calls an external contract that does not return a value, the contract address and any associated side effects may be evaluated twice due to an incorrect control flow implementation (classified under CWE-670: Always-Incorrect Control Flow Implementation). This double evaluation can lead to unintended behavior in the smart contract, potentially causing incorrect outcomes or logic errors. Since smart contracts often handle financial transactions or critical logic, such an error could result in loss of funds, incorrect state changes, or vulnerabilities exploitable by attackers. The issue was addressed and fixed in version 0.3.4 of Vyper. There are no known exploits in the wild at the time of reporting, and no CVSS score has been assigned to this vulnerability. The problem arises from the way Vyper handles external contract calls without return values, which is a subtle but critical aspect of smart contract execution flow and state management on the Ethereum blockchain.
Potential Impact
For European organizations utilizing Vyper to develop or deploy Ethereum smart contracts, this vulnerability poses a risk of contract malfunction or unintended behavior. Financial institutions, fintech companies, and blockchain service providers in Europe that rely on Vyper for smart contract development could face risks including incorrect transaction processing, loss of funds, or compromised contract logic integrity. Given the immutable nature of deployed smart contracts, any flawed contract logic due to this vulnerability could be difficult to rectify post-deployment, potentially leading to financial losses or reputational damage. Additionally, organizations involved in decentralized finance (DeFi), supply chain management, or digital identity solutions using Vyper-based contracts may experience disruptions or exploitation attempts if the vulnerability is present in their deployed contracts. Although no known exploits are reported, the potential for incorrect contract behavior makes it a medium-risk issue that requires prompt attention to prevent future exploitation or operational failures.
Mitigation Recommendations
European organizations should immediately audit their smart contracts developed with Vyper versions prior to 0.3.4 to identify any contracts that perform external calls without return values. It is critical to upgrade all Vyper development environments and toolchains to version 0.3.4 or later to incorporate the fix. For already deployed contracts, organizations should assess the feasibility of deploying patched contract versions or implementing compensating controls such as transaction monitoring and anomaly detection to identify unexpected contract behavior. Incorporating rigorous testing and formal verification methods focusing on external call handling can help detect similar control flow issues. Additionally, organizations should establish secure development lifecycle practices for smart contracts, including dependency management and vulnerability scanning for language compilers and tools. Collaboration with blockchain security auditors to review contracts for this specific flaw is recommended. Finally, educating developers about the implications of external calls and control flow in smart contracts will reduce the risk of introducing similar vulnerabilities in the future.
Affected Countries
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2022-04-13T00:00:00.000Z
- Cisa Enriched
- true
Threat ID: 682d9848c4522896dcbf65f0
Added to database: 5/21/2025, 9:09:28 AM
Last enriched: 6/22/2025, 12:51:32 AM
Last updated: 2/7/2026, 6:53:48 AM
Views: 38
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-2076: Improper Authorization in yeqifu warehouse
MediumCVE-2025-15491: CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in Post Slides
HighCVE-2025-15267: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in boldthemes Bold Page Builder
MediumCVE-2025-13463: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in boldthemes Bold Page Builder
MediumCVE-2025-12803: CWE-80 Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) in boldthemes Bold Page Builder
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.