Glossary
Read-Only Reentrancy
Eine Reentrancy-Variante, bei der ein Angreifer in einem inkonsistenten State-Fenster eine View-Funktion mit veralteten Daten ausnutzt, ohne eine zustandsändernde Funktion erneut aufzurufen.
Read-Only Reentrancy nutzt view-Funktionen (nur lesend) aus, die
veraltete Daten zurückgeben, während eine andere Operation noch
mitten in der Ausführung steckt. Klassische nonReentrant-Guards
schützen zustandsändernde Funktionen, lassen Getter aber ungeschützt.
So kann ein Angreifer während einer Operation — etwa dem Entfernen
von Liquidität aus einem Pool im Curve-Stil — einen Callback auslösen
und aus diesem Callback heraus einen Preis- oder Anteils-Getter
aufrufen, der halb aktualisierten State liest. Nachgelagerte
Protokolle, die diesem Getter vertrauen, wie Lending-Märkte und
Vaults, können dann falsch bepreist und geleert werden.
Eine Welle von Vorfällen 2022 gegen Curve-integrierte Lending-Märkte machte diese Klasse bekannt. Abwehrmaßnahmen bestehen darin, den Reentrancy-Lock auch auf View-Funktionen auszudehnen oder vor dem Lesen eines Werts den Lock-Status des Pools zu prüfen.