vyper has 28 CVEs on record between 2020 and 2026. 5 were published in the last 90 days. The busiest recent month was October 2026 with 5. The median CVSS is 7.3 (high), with 2 rated critical. None have a confirmed exploitation report.
CVEs per month
Last 12 months, by publish date
- Exploited share
- 0% vs 1% corpus
- Median CVSS
- 7.3
- Publish → KEV
- —
- Last 90 days
- 5 prev 0
Worst active — by depth score
CVE-2024-24563Critical· 9.8Vyper negative array index bounds checks54CVE-2024-24561Critical· 9.8Vyper's bounds check on built-in `slice()` function can be overflowed54CVE-2023-39363High· 8.7Vyper has incorrectly allocated named re-entrancy locks48CVE-2023-46247High· 7.5incorrect storage layout for contracts containing large arrays41CVE-2023-32059High· 7.5Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls41
vyper vulnerabilities
CVEs affecting vyper, newest first. Open any entry for full detail, references, and exploit status.
28 CVEsRSS
CVE-2020-37288Medium· 3.7Vyper: Return inside for loop more than 1 level deep
Vyper: Return inside for loop more than 1 level deep
CVE-2020-37287Medium· 5.9Vyper: Call stack corruption when passing complex type containing non-base type members as argument
Vyper: Call stack corruption when passing complex type containing non-base type members as argument
GHSA-vg88-3v92-rjx2MediumVyper: Return inside for loop more than 1 level deep
Vyper: Return inside for loop more than 1 level deep
GHSA-4v7v-gqf9-ww2gMediumVyper: Call stack corruption when passing complex type containing non-base type members as argument
Vyper: Call stack corruption when passing complex type containing non-base type members as argument
GHSA-2r3x-4mrv-mcxfMediumVyper: Memory corruption using function calls within tuples / nested calls
Vyper: Memory corruption using function calls within tuples / nested calls
CVE-2025-47285LowVyper's `concat()` builtin may elide side-effects for zero-length arguments
Vyper's `concat()` builtin may elide side-effects for zero-length arguments
CVE-2025-47774LowVyper's `slice()` may elide side-effects when output length is 0
Vyper's `slice()` may elide side-effects when output length is 0
CVE-2025-21607LowVyper Does Not Check the Success of Certain Precompile Calls
Vyper Does Not Check the Success of Certain Precompile Calls
CVE-2024-24563Critical· 9.8Vyper negative array index bounds checks
Vyper negative array index bounds checks
CVE-2024-24559Low· 3.7Vyper sha3 codegen bug
Vyper sha3 codegen bug
CVE-2024-24560Low· 3.7Vyper's external calls can overflow return data to return input buffer
Vyper's external calls can overflow return data to return input buffer
CVE-2024-24561Critical· 9.8Vyper's bounds check on built-in `slice()` function can be overflowed
Vyper's bounds check on built-in `slice()` function can be overflowed
CVE-2024-24567Medium· 4.8Vyper's raw_call `value=` kwargs not disabled for static and delegate calls
Vyper's raw_call `value=` kwargs not disabled for static and delegate calls
CVE-2024-22419High· 7.3concat built-in can corrupt memory in vyper
concat built-in can corrupt memory in vyper
CVE-2023-46247High· 7.5incorrect storage layout for contracts containing large arrays
incorrect storage layout for contracts containing large arrays
CVE-2023-42441Medium· 5.3Vyper has incorrect re-entrancy lock when key is empty string
Vyper has incorrect re-entrancy lock when key is empty string
CVE-2023-41052Medium· 5.3incorrect order of evaluation of side effects for some builtins
incorrect order of evaluation of side effects for some builtins
CVE-2023-39363High· 8.7Vyper has incorrectly allocated named re-entrancy locks
Vyper has incorrectly allocated named re-entrancy locks
CVE-2023-32059High· 7.5Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls
Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls
CVE-2023-32058High· 7.5Vyper vulnerable to integer overflow in loop
Vyper vulnerable to integer overflow in loop
CVE-2023-31146High· 7.5Vyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignment
Vyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignment
CVE-2023-30837High· 7.5vyper vulnerable to storage allocator overflow
vyper vulnerable to storage allocator overflow
CVE-2023-30629High· 7.5Incorrect success value returned in vyper
Incorrect success value returned in vyper
CVE-2021-41121High· 7.5Memory corruption when returning a literal struct with a private call inside of it
Memory corruption when returning a literal struct with a private call inside of it
CVE-2021-41122Medium· 4.3missing clamps for decimal args in external functions
missing clamps for decimal args in external functions
CVE-2021-48018High· 7.4Storage corruption due to variables overwritten by re-entrancy locks
Storage corruption due to variables overwritten by re-entrancy locks
CVE-2021-48020Medium· 6.5VVE-2021-0001: Memory corruption using function calls within arrays
VVE-2021-0001: Memory corruption using function calls within arrays
CVE-2020-37289Low· 3.7Vyper interfaces returning integer types less than 256 bits can be manipulated if uint256 is used
Vyper interfaces returning integer types less than 256 bits can be manipulated if uint256 is used