Skip to content

incorrect re-entrancy lock when key is empty string

Moderate
charles-cooper published GHSA-3hg2-r75x-g69m Sep 15, 2023

Package

pip vyper (pip)

Affected versions

>=v0.2.9, <0.3.10

Patched versions

0.3.10

Description

Impact

Locks of the type @nonreentrant("") or @nonreentrant('') do not produce reentrancy checks at runtime.

@nonreentrant("") # unprotected
@external
def bar():
    pass

@nonreentrant("lock") # protected
@external
def foo():
    pass

Patches

Patched in #3605

Workarounds

The lock name should be a non-empty string.

References

Are there any links users can visit to find out more?

Severity

Moderate

CVE ID

CVE-2023-42441

Weaknesses

No CWEs

Credits