Glossareintrag
Reentrancy-Angriff
Wallets & SicherheitBeim Reentrancy-Angriff wird ein Vertrag erneut aufgerufen, bevor Salden aktualisiert sind – so lässt sich in einer Transaktion mehrfach abheben.
Definition
Ein Reentrancy-Angriff nutzt einen Smart Contract aus, der Gelder auszahlt, bevor er seine eigenen internen Buchungen aktualisiert. Der empfangende Vertrag nutzt genau diesen Moment, um die ursprüngliche Funktion erneut aufzurufen, die noch den alten Saldo sieht, und wiederholt die Auszahlung mehrfach innerhalb einer einzigen Transaktion. Es ist eine der ältesten und bekanntesten Schwachstellenklassen bei Smart Contracts und hat die heutige Solidity-Praxis stark geprägt. Übliche Gegenmittel sind das Checks-Effects-Interactions-Muster, bei dem der Zustand vor jedem externen Aufruf geschrieben wird, sowie Reentrancy-Guards, die eine Funktion während der Ausführung sperren. Reentrancy erinnert daran, dass in gemeinsam genutztem, kombinierbarem Code jeder externe Aufruf die Kontrolle an eine nicht vertrauenswürdige Partei übergeben kann.
Als Nächstes
Verwandte Begriffe
Mehr in Wallets & Sicherheit
KontoübernahmeAddress Poisoning (Adressvergiftung)Anti-Phishing-CodeAPI-Schlüssel-BerechtigungenBridge-ExploitBug-Bounty-ProgrammClipboard-HijackingCold Storage (Kalte Aufbewahrung)Sammlungsfreigabe (setApprovalForAll)Krypto-PhishingVerwahrt vs. nicht verwahrt (custodial vs. non-custodial)Verwahrungsversicherung