Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🐍 PyPI
Not in CISA KEV

Storage corruption due to variables overwritten by re-entrancy locksGHSA-7f92-rr6w-cq64

Fix: vyperlang/vyper#2379

GHSA-7f92-rr6w-cq64 is a security vulnerability in vyper. A fix is available for vyper — see the affected versions and patch details below.

Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Dec 2, 2024 · OSV.dev, FIRST.org (EPSS)

Real-World Exposure

1 pkg affected
🐍vyper

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

Background

When attempting to use the v0.2.14 release, @pandadefi discovered an issue using the @nonreentrant decorator.

Impact

Reentrancy protection storage slots get allocated to the same slots as storage variables, leading to the corruption of storage variables when using the @nonreentrant decorator.

Patches

This issue was fixed in v0.2.15 in #2391, #2379

Workarounds

Don't use the @nonreentrant decorator in these versions.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPIvyper≥ 0.2.13&&< 0.2.150.2.15pip install --upgrade 'vyper==0.2.15'

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for vyper, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update vyper to 0.2.15 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-7f92-rr6w-cq64 is resolved across your whole dependency graph.

  3. Workarounds

    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.

Frequently Asked Questions

### Background When attempting to use the v0.2.14 release, @pandadefi discovered an issue using the `@nonreentrant` decorator. ### Impact Reentrancy protection storage slots get allocated to the same slots as storage variables, leading to the corruption of storage variables when using the `@nonreentrant` decorator. ### Patches This issue was fixed in v0.2.15 in #2391, #2379 ### Workarounds Don't use the `@nonreentrant` decorator in these versions.
O3 Security · Impact-Aware SCA

Is GHSA-7f92-rr6w-cq64 in your dependencies?

Find it across PyPI, including transitive dependencies.

Storage corruption due to variables overwritten by…