Vyper: Speicherkorruption über den @nonreentrant-Dekorator
Zusammenfassung
Vyper 0.2.13 vor 0.2.15 weist Speicherplätze für @nonreentrant-Reentrancy-Sperren an denselben Stellen zu wie die Speichervariablen eines Vertrags. Beim Aufruf einer mit @nonreentrant markierten Funktion wird eine überlappende Speichervariable überschrieben, wodurch der Vertragszustand beschädigt und die vorgesehene Logik gestört wird. Smart Contracts, die mit den betroffenen Vyper-Versionen kompiliert wurden, sind gefährdet; ein Angreifer ohne Berechtigungen kann den Fehler je nach Vertragsdesign über öffentliche Funktionen auslösen.
Betroffen
- Vyper 0.2.13 bis vor 0.2.15 (vyperlang/vyper, PyPI-Paket vyper)
- Mit diesen Versionen kompilierte Verträge, die @nonreentrant verwenden
Behoben in
- Vyper 0.2.15 (Behebung in den PRs #2391 und #2379)
- Vorsicht: Laut einer Sekundärquelle betrifft ein separater, späterer Fehler in der Reentrancy-Sperre die Versionen 0.2.15, 0.2.16 und 0.3.0; diese Quelle meldet eine Behebung in 0.3.1. Die Angabe ist im Herstelleradvisory zu prüfen.
Umgehung
- Den @nonreentrant-Dekorator in betroffenen Versionen nicht verwenden (dies ist eine Codeänderung, die eine Überarbeitung der Vertragslogik erfordert)
- Keine weiteren Workarounds bekannt.
Ausnutzung
Unbekannt, ob diese CVE in freier Wildbahn ausgenutzt wird. Kein öffentlicher Proof of Concept gefunden. CISA SSVC: Exploitation none, nicht automatisierbar. Ein Angriff auf einen Curve-Pool im Jahr 2023 nutzte einen anderen Reentrancy-Fehler in Vyper, nicht diese CVE.
Unsere Empfehlung
- Prüfen, ob Vyper verwendet wird, auch als indirekte Abhängigkeit in Lockfiles (z. B. eth-brownie).
- Verträge identifizieren, die mit 0.2.13 oder 0.2.14 kompiliert wurden, sowie Verträge mit @nonreentrant, die mit 0.2.15 bis 0.3.0 kompiliert wurden.
- Nach einem Smart-Contract-Audit mit einer aktuellen Vyper-Version neu kompilieren und neu deployen; ein Patch allein behebt den späteren Sperrfehler nicht.
- Nur für Organisationen relevant, die Blockchain- oder DeFi-Verträge entwickeln oder betreiben; andernfalls keine Massnahme nötig.
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- GitHub Security Advisory GHSA-7f92-rr6w-cq64 github.com
- VulnCheck Advisory: Vyper Storage Corruption via @nonreentrant Decorator www.vulncheck.com
- OSV: GHSA-7f92-rr6w-cq64 osv.dev
- Vyper 0.2.15 release notes docs.vyperlang.org
- Tenable CVE-2021-48018 www.tenable.com
- Kodem CVE archive: GHSA-7f92-rr6w-cq64 www.kodemsecurity.com
- Highland Security: Vyper reentrancy 0-day post-mortem highlandsecurity.substack.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 01.11.2026 13:28.
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
