CVE-2023-40015
CVE-2023-40015 is a low-severity vulnerability in Vyperlang Vyper with a CVSS 3.x base score of 3.7. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-670.
Key facts
- Severity: Low (CVSS 3.x base score 3.7)
- EPSS exploit prediction: 0% (34th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-670
- Affected product: Vyperlang Vyper
- Published:
- Last modified:
Description
Vyper is a Pythonic Smart Contract Language. For the following (probably non-exhaustive) list of expressions, the compiler evaluates the arguments from right to left instead of left to right. `unsafe_add, unsafe_sub, unsafe_mul, unsafe_div, pow_mod256, |, &, ^ (bitwise operators), bitwise_or (deprecated), bitwise_and (deprecated), bitwise_xor (deprecated), raw_call, <, >, <=, >=, ==, !=, in, not in (when lhs and rhs are enums)`. This behaviour becomes a problem when the evaluation of one of the arguments produces side effects that other arguments depend on. The following expressions can produce side-effect: state modifying external call , state modifying internal call, `raw_call`, `pop()` when used on a Dynamic Array stored in the storage, `create_minimal_proxy_to`, `create_copy_of`, `create_from_blueprint`. This issue has not yet been patched. Users are advised to make sure that the arguments of the expression do not produce side effects or, if one does, that no other argument is dependent on those side effects.
Frequently asked questions
- What is CVE-2023-40015?
- Vyper is a Pythonic Smart Contract Language. For the following (probably non-exhaustive) list of expressions, the compiler evaluates the arguments from right to left instead of left to right. `unsafe_add, unsafe_sub, unsafe_mul, unsafe_div, pow_mod256, |, &, ^ (bitwise operators), bitwise_or (deprecated), bitwise_and (deprecated), bitwise_xor (deprecated), raw_call, <, >, <=, >=, ==, !=, in, not in (when lhs and rhs are enums)`. This behaviour becomes a problem when the evaluation of one of the arguments produces side effects that other arguments depend on. The following expressions can produce side-effect: state modifying external call , state modifying internal call, `raw_call`, `pop()` when used on a Dynamic Array stored in the storage, `create_minimal_proxy_to`, `create_copy_of`, `create_from_blueprint`. This issue has not yet been patched. Users are advised to make sure that the arguments of the expression do not produce side effects or, if one does, that no other argument is dependent on those side effects.
- How severe is CVE-2023-40015?
- CVE-2023-40015 has a CVSS 3.x base score of 3.7, rated low severity. It is exploitable over network with high attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity low, and availability none.
- Is CVE-2023-40015 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (34th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2023-40015?
- CVE-2023-40015 affects Vyperlang Vyper. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2023-40015?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- When was CVE-2023-40015 published?
- CVE-2023-40015 was published on 2023-09-04 and last updated on 2026-06-17.
References
Affected products (1)
- cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*
More vulnerabilities in Vyperlang Vyper
- CVE-2024-24563 — Critical (CVSS 9.8): Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. Arrays can be keyed by a signed integer,…
- CVE-2024-24561 — Critical (CVSS 9.8): Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.10 and earlier, the…
- CVE-2025-27105 — Critical (CVSS 9.1): vyper is a Pythonic Smart Contract Language for the EVM. Vyper handles AugAssign statements by first caching the target…
- CVE-2022-24845 — High (CVSS 8.8): Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In affected versions, the return of…
- CVE-2022-29255 — High (CVSS 8.2): Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling…
- CVE-2023-42443 — High (CVSS 8.1): Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In version 0.3.9 and prior, under…
All CVEs affecting Vyperlang Vyper →
Other CWE-670 vulnerabilities
- CVE-2025-43359 — Critical (CVSS 9.8): A logic issue was addressed with improved state management. This issue is fixed in iOS 18.7 and iPadOS 18.7, iOS 26 and…
- CVE-2022-25745 — Critical (CVSS 9.8): Memory corruption in modem due to improper input validation while handling the incoming CoAP message
- CVE-2020-1914 — Critical (CVSS 9.8): A logic vulnerability when handling the SaveGeneratorLong instruction in Facebook Hermes prior to commit…
- CVE-2020-17466 — Critical (CVSS 9.8): Turcom TRCwifiZone through 2020-08-10 allows authentication bypass by visiting manage/control.php and ignoring 302…
- CVE-2019-17192 — Critical (CVSS 9.8): The WebRTC component in the Signal Private Messenger application through 4.47.7 for Android processes videoconferencing…
- CVE-2026-55276 — Critical (CVSS 9.1): Always-Incorrect Control Flow Implementation vulnerability in Apache Tomcat meant that special roles and empty…