Kritischer Fehler im Reserve-Protocol: Lücke beim Einfrieren von Geldern bis zu 2 Millionen US-Dollar, aufgedeckt von GregoAI

Der KI-Sicherheitsforscher GregoAI deckt eine kritische Schwachstelle im BackingManager-Vertrag des Reserve Protocol auf, die potenziell dafür sorgt, dass Gelder dauerhaft eingefroren werden – bis zu 2 Millionen US-Dollar pro Auktion. Die Erkenntnisse wurden über das Bug-Bounty-Programm von Immunefi behoben und wurden in der Praxis nie ausgenutzt.

Die Schwachstelle stammt aus der Funktion rebalance(), die keine Zugriffskontrolle für den Parameter des Auktionstyps besitzt. Jeder kann den Protokollmechanismus zwingen, die erneute Ausbalancierung von der standardmäßigen Niederländischen Auktion auf den Batch-Reservepfad von Gnosis EasyAuction umzuleiten.

Nachdem die Auktion erzwungen geöffnet wurde, platziert der Angreifer Gebote im Wert von etwa 0,01 US-Dollar auf eine Auktion, die noch nicht vollständig gefüllt ist, und ruft dann unmittelbar nach dem Ende der Auktion die öffentliche Funktion precalculateSellAmountSum() auf. Diese Manipulation verschiebt den Abwicklungszeiger an die Endposition der Warteschlange, wodurch die Zählvariable weiterhin bei null bleibt.

Wenn settleAuction() aufgerufen wird, löst dieser Zustand eine Division-durch-null-Operation aus, die dauerhaft fehlschlägt. Die zugesicherten Garantien des Protokolls sowie die Einlagen aller Drittbieter sind blockiert und es gibt keinen Wiederherstellungsweg, da der EasyAuction-Vertrag nicht aktualisiert werden kann und keine Admin-Rettungsfunktion besitzt.

Die On-Chain-Analyse von GregoAI bestätigt, dass ein Angriff mit Kosten von ungefähr 2,50 US-Dollar bis zu 997.207 US-Dollar in einer einzigen Auktion einfrieren kann. Sieben aufeinanderfolgende Auktionen am selben Tag könnten gleichzeitig ausfallen, da der acht-Tage-Governance-Zyklus die Erstellung der nächsten Auktion blockiert.

Reserve Protocol reagierte, indem es den DTF-Yield-Handel vorübergehend stoppte, der über 99% des betroffenen TVL umfasst, bevor die öffentliche Offenlegung erfolgte. Die Governance des Protokolls entfernte anschließend die Batch-Auktionsroute vollständig, indem batchAuctionLength auf null gesetzt wurde. Die Druck-, Tausch- und stRSR-Mechanismen sind nachweislich nicht betroffen.

Quelle: GregoAI, Reserve Protocol / ABC Labs, Bug-Bounty-Plattform Immunefi, Gnosis.
$RSR