CVE-2023-39363
CVE-2023-39363 · Vyper incorrectly allocated named re-entrancy locks
Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.
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.
CVSS 9.1 · Crítica · EPSS 0,8% · Corrección disponible
- Publicación
- Actualización
Pila tecnológica: python
Productos y versiones afectados
vyper
- Versiones
- = 0.2.15: Afectada
- = 0.2.16: Afectada
- = 0.3.0: Afectada
Sin corrección publicada
vyper PyPI
- Versiones
- 0.2.15
- 0.2.16
- 0.3.0
- Intervalos de versiones afectados
- ECOSYSTEM: ≥ 0.2.15, < 0.3.1
Actualiza a 0.3.1
vyper PyPI
- Versiones
- 0.1.0b1
- 0.1.0b10
- 0.1.0b11
- 0.1.0b12
- 0.1.0b13
- 0.1.0b14
- 0.1.0b15
- 0.1.0b16
- 0.1.0b17
- 0.1.0b2
- 0.1.0b3
- 0.1.0b4
- 0.1.0b5
- 0.1.0b6
- 0.1.0b7
- 0.1.0b8
- 0.1.0b9
- 0.2.1
- 0.2.10
- 0.2.11
- 0.2.12
- 0.2.13
- 0.2.14
- 0.2.15
- 0.2.16
- 0.2.2
- 0.2.3
- 0.2.4
- 0.2.5
- 0.2.6
- 0.2.7
- 0.2.8
- 0.2.9
- 0.3.0
- 0.3.1
- 0.3.2
- 0.3.3
- 0.3.4
- 0.3.5
- 0.3.6
- 0.3.7
- 0.3.8
- 0.3.9
- 0.3.10
- 0.3.10rc1
- 0.3.10rc2
- 0.3.10rc3
- 0.3.10rc4
- 0.3.10rc5
- 0.4.0
- 0.4.0b1
- 0.4.0b2
- 0.4.0b3
- 0.4.0b4
- 0.4.0b5
- 0.4.0b6
- 0.4.0rc1
- 0.4.0rc2
- 0.4.0rc3
- 0.4.0rc4
- 0.4.0rc5
- 0.4.0rc6
- 0.4.1
- 0.4.1b1
- 0.4.1b2
- 0.4.1b3
- 0.4.1b4
- 0.4.1rc1
- 0.4.1rc2
- 0.4.1rc3
- 0.4.2
- 0.4.2rc1
- 0.4.3
- 0.4.3rc1
- Intervalos de versiones afectados
- ECOSYSTEM: (−∞, +∞)
Sin corrección publicada