Incorrect Authorization Affecting vyper package, versions [0.2.15,0.3.1)


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team

    Threat Intelligence

    EPSS
    0.11% (46th 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-5825690
  • published 8 Aug 2023
  • disclosed 7 Aug 2023
  • credit Unknown

How to fix?

Upgrade vyper to version 0.3.1 or higher.

Overview

vyper is a Pythonic Smart Contract Language for the EVM.

Affected versions of this package are vulnerable to Incorrect Authorization which allows an attacker to cause cross-function re-entrancy in contracts compiled with the susceptible versions by exploiting the incorrect allocation of named re-entrancy locks. This is only exploitable if a .vy contract is compiled with the affected versions; a primary function 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 utilizes the same key and would be affected by the improper state caused by the primary function.

CVSS Scores

version 3.1
Expand this section

Snyk

Recommended
5.9 medium
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    High
  • Privileges Required (PR)
    None
  • User Interaction (UI)
    None
  • Scope (S)
    Unchanged
  • Confidentiality (C)
    None
  • Integrity (I)
    High
  • Availability (A)
    None
Expand this section

NVD

5.9 medium