Cyber Resilience

CVE-2023-46247

Vyperlang Vyper ≤ 0.3.8

Published
13 December 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 7.5
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:H/A:N
EPSS Score 0.0070 50th percentile
Risk Priority 58 floored blend · peak EPSS

Summary

CVE-2023-46247 is a high-severity Off-by-one Error (CWE-193) vulnerability in Vyperlang Vyper. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 50th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

EU & UK References

Vulnerability Data

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Contracts containing large arrays might underallocate the number of slots they need by 1. Prior to v0.3.8, the calculation to determine how many slots a storage variable…

more

needed used `math.ceil(type_.size_in_bytes / 32)`. The intermediate floating point step can produce a rounding error if there are enough bits set in the IEEE-754 mantissa. Roughly speaking, if `type_.size_in_bytes` is large (> 2**46), and slightly less than a power of 2, the calculation can overestimate how many slots are needed by 1. If `type_.size_in_bytes` is slightly more than a power of 2, the calculation can underestimate how many slots are needed by 1. This issue is patched in version 0.3.8.

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-2025-26622Same product: Vyperlang Vyper
CVE-2023-42460Same product: Vyperlang Vyper
CVE-2023-37902Same product: Vyperlang Vyper
CVE-2024-32481Same product: Vyperlang Vyper
CVE-2024-24563Same product: Vyperlang Vyper
CVE-2024-26149Same product: Vyperlang Vyper
CVE-2024-24560Same product: Vyperlang Vyper
CVE-2024-24564Same product: Vyperlang Vyper
CVE-2023-32058Same product: Vyperlang Vyper
CVE-2023-42443Same product: Vyperlang Vyper

Affected Assets

vyperlang
vyper
≤ 0.3.8

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V6.2.1
  • V15.2.2

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 prevent off-by-one errors via reviews, static analysis, and testing.

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 in development and acceptance can detect off-by-one errors before release.

prevents

Secure development life cycle includes requirements and reviews that can catch off-by-one errors.

prevents

Application security requirements can specify bounds-checking and input validation to prevent off-by-one errors.

prevents

Secure system architecture and engineering principles promote defensive coding practices that reduce off-by-one mistakes.

prevents

Secure coding directly addresses off-by-one errors through coding standards and peer review.

References