Cyber Resilience

CVE-2024-32481

Vyperlang Vyper 0.3.8 – 0.3.10

Public PoC
Published
25 April 2024
Modified
05 May 2025
Patch / advisory
CVSS Score v3.1 5.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
EPSS Score 0.0080 53th percentile
Risk Priority 47 floored blend · peak EPSS

Summary

CVE-2024-32481 is a medium-severity Incorrect Conversion between Numeric Types (CWE-681) vulnerability in Vyperlang Vyper. Its CVSS base score is 5.3 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked in the top 47% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. Starting in version 0.3.8 and prior to version 0.4.0b1, when looping over a `range` of the form `range(start, start + N)`, if `start` is negative, the execution will…

more

always revert. This issue is caused by an incorrect assertion inserted by the code generation of the range `stmt.parse_For_range()`. The issue arises when `start` is signed, instead of using `sle`, `le` is used and `start` is interpreted as an unsigned integer for the comparison. If it is a negative number, its 255th bit is set to `1` and is hence interpreted as a very large unsigned integer making the assertion always fail. Any contract having a `range(start, start + N)` where `start` is a signed integer with the possibility for `start` to be negative is affected. If a call goes through the loop while supplying a negative `start` the execution will revert. Version 0.4.0b1 fixes the issue.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1210 Exploitation of Remote Services Lateral Movement
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network.
T1212 Exploitation for Credential Access Credential Access
Adversaries may exploit software vulnerabilities in an attempt to collect credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-37902Same product: Vyperlang Vyper
CVE-2023-42460Same product: Vyperlang Vyper
CVE-2023-46247Same product: Vyperlang Vyper
CVE-2025-26622Same product: Vyperlang Vyper
CVE-2024-26149Same product: Vyperlang Vyper
CVE-2024-24560Same product: Vyperlang Vyper
CVE-2024-24564Same product: Vyperlang Vyper
CVE-2024-24563Same product: Vyperlang Vyper
CVE-2023-32058Same product: Vyperlang Vyper
CVE-2023-31146Same product: Vyperlang Vyper

Affected Assets

vyperlang
vyper
0.4.0 · 0.3.8 — 0.3.10

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation can discover incorrect numeric conversions through targeted test cases.

Engineering principles can mandate safe numeric handling and range checks that structurally avoid bad conversions.

Input validation directly stops malformed or out-of-range numeric values from reaching conversion logic.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require code reviews, static analysis, and developer training that catch and prevent numeric type-conversion errors.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect numeric conversion defects before release.

prevents

Secure development lifecycle includes type-safety and conversion checks that reduce numeric truncation risks.

prevents

Application security requirements can mandate safe numeric handling and range validation.

prevents

Secure architecture principles promote strong typing and safe conversion practices.

prevents

Secure coding standards directly address correct numeric type conversions and overflow checks.

References