Security Resilience

CVE-2024-24560

Memory Safety in Vyperlang Vyper ≤ 0.3.10

Public PoCMemory Safety
Published
02 February 2024
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 3.7
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
EPSS Score 0.0053 43th percentile
Risk Priority 34 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2024-24560 is a low-severity Improper Restriction of Operations within the Bounds of a Memory Buffer (CWE-119) vulnerability in Vyperlang Vyper. Its CVSS base score is 3.7 (Low).

Operationally, ranked at the 43th percentile by exploit likelihood (below the median); 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-8 (Security and Privacy Engineering Principles) and SI-10 (Information Input Validation) — 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. When calls to external contracts are made, we write the input buffer starting at byte 28, and allocate the return buffer to start at byte 0 (overlapping with…

more

the input buffer). When checking RETURNDATASIZE for dynamic types, the size is compared only to the minimum allowed size for that type, and not to the returned value's length. As a result, malformed return data can cause the contract to mistake data from the input buffer for returndata. When the called contract returns invalid ABIv2 encoded data, the calling contract can read different invalid data (from the dirty buffer) than the called contract returned.

CWE(s)

Related Threats

CVEs Like This One

CVE-2024-26149Same product: Vyperlang Vyper
CVE-2024-24561Same product: Vyperlang Vyper
CVE-2024-32481Same product: Vyperlang Vyper
CVE-2023-37902Same product: Vyperlang Vyper
CVE-2023-32675Same product: Vyperlang Vyper
CVE-2023-39363Same product: Vyperlang Vyper
CVE-2024-32649Same product: Vyperlang Vyper
CVE-2023-40015Same product: Vyperlang Vyper
CVE-2023-42460Same product: Vyperlang Vyper
CVE-2024-24559Same product: Vyperlang Vyper

Affected Assets

vyperlang
vyper
≤ 0.3.10

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Secure engineering principles require memory-safe design and coding that structurally avoids buffer-boundary violations.

Input validation directly enforces bounds checking that stops out-of-bounds reads/writes from being introduced or reached.

Memory protection restricts exploitation impact of buffer overflows without eliminating the underlying coding flaw.

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.

blocks

A.8.25 mandates secure SDLC practices (secure coding guidelines, security requirements, testing including code scans and penetration tests, developer training) that reach buffer management and can stop many buffer overruns from reaching production, but leaves a bounded remainder (e.g. flaws in non-software components, incomplete enforcement of guidelines, or post-deployment changes)

blocks

Application security requirements can specify memory-safety rules, but do not prescribe implementation details.

blocks

A.8.27 mandates security-by-design principles (e.g. least privilege, fail securely, distrust external input, hardening) plus design reviews that can catch and stop buffer-boundary errors before they reach code, but this is only one minority slice of CWE-119's broad surface (language-specific flaws, unsafe library use, compiler/runtime mitigations, and post-deployment instances remain outside its direct scope).

prevents

Secure coding standards explicitly forbid unsafe buffer operations, directly eliminating CWE-119.

finds

Security testing in development catches out-of-bounds accesses before release, covering most instances of the weakness.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-119, a class-level weakness. Rules are authored against its narrower children: CWE-823.

References