Improper Locking Affecting vyper package, versions [,0.3.0)


Severity

Recommended
0.0
low
0
10

    Threat Intelligence

    Exploit Maturity
    Proof of concept
    EPSS
    0.05% (16th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-PYTHON-VYPER-6674050
  • published 26 Apr 2024
  • disclosed 25 Apr 2024
  • credit charles-cooper

How to fix?

Upgrade vyper to version 0.3.0 or higher.

Overview

vyper is a Pythonic Smart Contract Language for the EVM.

Affected versions of this package are vulnerable to Improper Locking due to the default functions not respecting nonreentrancy keys and the omission of the lock. This issue could allow an attacker to bypass the intended security mechanisms by exploiting the lack of reentrancy protection in default functions.

PoC


@external
@payable
@nonreentrant("default")
def __default__():
    pass

CVSS Scores

version 3.1
Expand this section

Snyk

3.7 low
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    High
  • Privileges Required (PR)
    None
  • User Interaction (UI)
    None
  • Scope (S)
    Unchanged
  • Confidentiality (C)
    None
  • Integrity (I)
    Low
  • Availability (A)
    None