Vulnerability · Published Sep 18, 2023 · Assigned by GitHub_M

CVE-2023-42441Vyper has incorrect re-entrancy lock when key is empty string

Medium 5.3

In plain English

A medium-severity security flaw in vyper from vyperlang. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 44% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.5%top 56.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Starting in version 0.2.9 and prior to version 0.3.10, locks of the type `@nonreentrant("")` or `@nonreentrant('')` do not produce reentrancy checks at runtime. This issue is fixed in version 0.3.10. As a workaround, ensure the lock name is a non-empty string.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIvyper0.3.10GHSA-3hg2-r75x-g69m
PyPIvyper0.3.10PYSEC-2023-305

Affected products (as reported)

VendorProductVersions
vyperlang vyper >= 0.2.9, < 0.3.10

Weakness: CWE-833 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

References