CVE-2024-24561
CRITICAL EPSS 55.2%
Published Feb 1, 20242y ago · Modified Jun 17, 20262w ago
9.8 CVSS 3.1
Published Feb 1, 2024 2y ago
Last Modified Jun 17, 2026 2w ago
Description
Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.10 and earlier, the bounds check for slices does not account for the ability for start + length to overflow when the values aren't literals. If a slice() function uses a non-literal argument for the start or length variable, this creates the ability for an attacker to overflow the bounds check. This issue can be used to do OOB access to storage, memory or calldata addresses. It can also be used to corrupt the length slot of the respective array.
CVSS Details
Base Score
Exploitability
Impact
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Attack Vector Network
Attack Complexity Low
Privileges Required None
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High
Threat Intelligence
EPSS Exploit Probability
55.2% percentile
Exploit & Patch Status
Public Exploit Known
No Patch Available
Weaknesses 2
CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer Memory Safety
CWE-787 Out-of-bounds Write Memory Safety
Affected Products 1
| Vendor | Product | Version | Range |
|---|---|---|---|
| vyperlang | vyper | * | ≤0.3.10 |
References 3
- github.com https://github.com/vyperlang/vyper/blob/b01cd686aa567b32498fefd76bd96b0597c6f099/vyper/builtins/functions.py#L404-L457
- github.com https://github.com/vyperlang/vyper/issues/3756
- github.com https://github.com/vyperlang/vyper/security/advisories/GHSA-9x7f-gwxq-6f2c
Remediation
No remediation data recorded yet
Check vendor advisories and the NVD entry for patch availability.