Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
Vyper versions before 0.4.0 (PyPI package vyper, referred to here as the Vyper compiler) allow signed integers to index arrays that are declared for unsigned indexes, and the runtime bounds check can be passed by very large negative values when the array is at least 2**255 elements long. An attacker who can supply the index value to a contract can cause unexpected array access, which may bypass developer assumptions about bounds. The source says a search found no production contracts affected. Upgrade to vyper 0.4.0 or later.
Not analysed yet
We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.
Severity and exploitation
| Score | Rating | CVSS | Vector | Source |
|---|---|---|---|---|
| 9.8 | Critical | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.015, the 75th percentile, on 9 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.
Timeline
- 31 Oct 2026, 14:35 UTC First seen by agentprime
- 31 Oct 2026, 14:35 UTC Confirmed by OSV
Sources
- GitHub Advisory Database: GHSA-52xq-j7v9-v4v2
- OSV: GHSA-52xq-j7v9-v4v2
- github.com/vyperlang/vyper/security/advisories/GHSA-52xq-j7v9-v4v2
- nvd.nist.gov/vuln/detail/CVE-2024-24563
- github.com/pypa/advisory-database/tree/main/vulns/vyper/PYSEC-2024-150.yaml
- github.com/vyperlang/vyper
- github.com/vyperlang/vyper/blob/a1fd228cb9936c3e4bbca6f3ee3fb4426ef45490/vyper/codegen/core.py#L534-L541
- github.com/vyperlang/vyper/blob/c150fc49ee9375a930d177044559b83cb95f7963/vyper/semantics/types/subscriptable.py#L127-L137