GHSA-5824-cm3x-3c38 · Severity: critical · Ecosystem: pip — Vyper has incorrectly allocated named re-entrancy locks
Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In versions 0.2.15, 0.2.16 and 0.3.0, named re-entrancy locks are allocated incorrectly. Each function using a named re-entrancy lock gets a unique lock regardless of the key, allowing cross-function re-entrancy in contracts compiled with the susceptible versions. A specific set of conditions is required to result in misbehavior of affected contracts, specifically: a `.vy` contract compiled with `vyper` versions `0.2.15`, `0.2.16`, or `0.3.0`; a primary function that utilizes the `@nonreentrant` decorator with a specific `key` and does not strictly follow the check-effects-interaction pattern (i.e. contains an external call to an untrusted party before storage updates); and a secondary function that utilizes the same `key` and would be affected by the improper state caused by the primary function. Version 0.3.1 contains a fix for this issue.
Conclusion & alert: CVE-2023-39363 is rated High Exploit Risk (69/100): CVSS Critical severity, with low exploitation likelihood (EPSS 0.71%). Core evidence: 3 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ | |
| — | nvd_ref | exploit_tag | Exploit-DB ↗ | |
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 0.07% | 0.71% | +0.63% |
| 2 | 2025-11-21 | 0.25% | 0.07% | -0.18% |
| 3 | 2025-11-18 | — | 0.25% | — |
Full EPSS history (8 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 9.1 | 4.0 | CRITICAL |
|
— | — | [email protected] |
| 5.9 | 3.1 | MEDIUM |
|
2.2 | 3.6 | [email protected] |
GHSA-5824-cm3x-3c38 · Severity: critical · Ecosystem: pip — Vyper has incorrectly allocated named re-entrancy locks
| URL | Tags |
|---|---|
| https://github.com/vyperlang/vyper/pull/2439 | Patch |
| https://github.com/vyperlang/vyper/pull/2514 | Patch |
| https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38 | Exploit Patch Third Party Advisory |
| https://hackmd.io/@LlamaRisk/BJzSKHNjn | Exploit Third Party Advisory |
| https://hackmd.io/@vyperlang/HJUgNMhs2 | Exploit Third Party Advisory |