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.

Advisories
Source ID Title
EUVD EUVD EUVD-2024-0176 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.\n\n
Github GHSA Github GHSA GHSA-9x7f-gwxq-6f2c Vyper's bounds check on built-in `slice()` function can be overflowed
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Tue, 17 Jun 2025 22:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2025-06-17T21:29:22.442Z

Reserved: 2024-01-25T15:09:40.209Z

Link: CVE-2024-24561

cve-icon Vulnrichment

Updated: 2024-08-01T23:19:52.835Z

cve-icon NVD

Status : Modified

Published: 2024-02-01T17:15:11.180

Modified: 2024-11-21T08:59:25.447

Link: CVE-2024-24561

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.