CVE-2024-24561

CRITICALNVD 9.89.8
EchelonGraph scoreMEDIUM confidence

This critical-severity CVE scores 9.8 under NVD CVSS v3. EPSS exploit probability: 1.2%, top 21% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, nvd
Elevated
9.8
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 1%CVSS: 9.8Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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 v3
9.8
EG Score
9.8(medium)
EPSS
55.5%
KEV
Not listed

Published

February 1, 2024

Last Modified

November 21, 2024

Advisory Details (3)

Auto-updated Jun 8, 2026
🔬 Proof of concept available. Patch available. Sources: github.
github Patch Available🟡 PoC Available

Bounds check on built-in `slice()` function can be overflowed · Advisory · vyperlang/vyper · GitHub

https://github.com/vyperlang/vyper/security/advisories/GHSA-9x7f-gwxq-6f2c
generic

invalid bounds check for `slice()` · Issue #3756 · vyperlang/vyper · GitHub

https://github.com/vyperlang/vyper/issues/3756
generic

vyper/vyper/builtins/functions.py at b01cd686aa567b32498fefd76bd96b0597c6f099 · vyperlang/vyper · GitHub

https://github.com/vyperlang/vyper/blob/b01cd686aa567b32498fefd76bd96b0597c6f099/vyper/builtins/functions.py#L404-L457

Affected Packages

(1 across 1 ecosystem)
PyPI(1)
PackageVulnerable rangeFixed inDependents
vyper0.1.0b1 ... 0.3.9 (49 versions)0.4.0b1

Frequently asked(5)

What is CVE-2024-24561?
CVE-2024-24561 is a critical vulnerability published on February 1, 2024. 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…
When was CVE-2024-24561 disclosed?
CVE-2024-24561 was first published in the National Vulnerability Database on February 1, 2024, with the most recent update on November 21, 2024. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2024-24561 actively exploited?
CVE-2024-24561 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 55.5% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2024-24561?
CVE-2024-24561 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2024-24561?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2024-24561, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2024-24561

Explore →

Is Your Infrastructure Affected by CVE-2024-24561?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.