Skip to content

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.