FlashLoopAdapter-Exploit leert 305.000 US-Dollar aus mit Aave verbundenen Safe-Wallets

ETH
WETH
Zugriffskontroll-ExploitFlashLoopAdapterSafe-WalletFlash-DarlehenSlowMistAave v3
vor 1 StundeQuelle: crypto.news
FlashLoopAdapter-Exploit leert 305.000 US-Dollar aus mit Aave verbundenen Safe-Wallets

Ein benutzerdefinierter FlashLoopAdapter, der zur Verwaltung gehebelter Aave-v3-Positionen verwendet wurde, wurde auf Ethereum ausgenutzt, wodurch zwei Safe-Wallets Verluste in Höhe von geschätzten 305.000 US-Dollar erlitten, nachdem ein Angreifer die Zugriffskontrollen des Moduls umgangen hatte.

Zusammenfassung

  • Ein Zugriffskontrollfehler im FlashLoopAdapter ermöglichte es einem Angreifer, etwa 305.000 US-Dollar von zwei Safe-Wallets auf Ethereum abzuziehen.
  • Der Angreifer nutzte einen Morpho-Blitzkredit, um etwa 1.335 WETH an Aave-Schulden zurückzuzahlen, bevor er etwa 1.306 weETH an Sicherheiten abhob.
  • Aave-Gründer Stani Kulechov sagte, der betroffene Vertrag sei ein Drittanbieter-Adapter gewesen, der auf Aave aufbaute, und habe keinerlei Auswirkungen auf Aave v3 gehabt.

Das Blockchain-Sicherheitsunternehmen SlowMist sagte, der Angreifer habe einen Authentifizierungsfehler im FlashLoopAdapter-Vertrag ausgenutzt, der es einem gefälschten Safe ermöglichte, Prüfungen zu bestehen, die den Zugriff auf Wallets beschränken sollten, die das Modul aktiviert hatten. Der Angreifer behielt letztendlich etwa 114,09 ETH, nachdem er das Modul verwendet hatte, um Positionen der betroffenen Wallets zu manipulieren.

Der Vorfall betraf einen benutzerdefinierten Vertrag, der auf Aave aufbaute, und nicht das Kernprotokoll Aave v3. Defimon Alerts, das den Angriff am 1. Oktober um 15:08:57 UTC entdeckte, sagte, dass Aave v3 selbst nicht betroffen war.

FlashLoopAdapter-Zugriffskontrollen ermöglichten es einem gefälschten Safe, durchzukommen

FlashLoopAdapter wurde als Safe-Modul zum Öffnen und Schließen gehebelter Positionen über Aave v3 entwickelt. Safes, die das Modul aktivierten, konnten es verwenden, um Loop-Strategien mit geliehenen Vermögenswerten und Sicherheiten zu verwalten.

Laut SlowMist lag die Schwachstelle in den Zugriffskontrollen, die von den Funktionen open() und close() des Adapters verwendet wurden.

Anstatt unabhängig festzustellen, dass der Aufrufer ein legitimer Safe war, prüften die Funktionen, ob ISafe(msg.sender).isModuleEnabled(address(this)) true zurückgab. Ein Angreifer konnte einen gefälschten Safe-Vertrag bereitstellen, der so programmiert war, dass er true zurückgab, wenn der FlashLoopAdapter die Prüfung durchführte.

Sobald der gefälschte Safe diesen Test bestanden hatte, erhielt der Angreifer Zugriff auf Funktionalität, die auf autorisierte Wallets hätte beschränkt sein sollen.

Defimon Alerts sagte, dass während des Callbacks durchgeführte Prüfungen die Transaktion nicht stoppten, weil der Vertrag des Angreifers auch als Blitzliquiditätsanbieter fungierte. Eine weitere Funktion, _swap(), ermöglichte dann einen direkten Aufruf an einen swapRouter unter Verwendung vom Aufrufer bereitgestellter swapCalldata.

Beide Eingaben konnten vom Angreifer kontrolliert werden.

Anstatt einen gewöhnlichen Swap-Router bereitzustellen, setzte der Angreifer den Router auf eine der Opfer-Safe-Wallets. Die Calldata wurde so festgelegt, dass execTransactionFromModule aufgerufen wurde, eine Safe-Funktion, die es einem aktivierten Modul ermöglicht, eine Transaktion auszuführen.

FlashLoopAdapter war bereits vom Opfer-Safe aktiviert, sodass der resultierende Aufruf akzeptiert wurde.

Ein ähnliches Problem mit Berechtigungen, die an Safe-Module geknüpft sind, trat im September auf. Ein Ethereum-Safe-Wallet-Exploit mit etwa 2.900 rsETH wurde von BlockSec auf schwache Autorisierungsprüfungen in einem Executor-Vertrag zurückgeführt, der mit einem aktivierten Safe-Modul verbunden war. Ein MEV-Bot führte den versuchten Exploit im Frontrunning aus und erhielt die Vermögenswerte, bevor die ursprüngliche Angriffstransaktion zurückgesetzt wurde, wie crypto.news zuvor berichtete.

Angreifer zahlte 1.335 WETH zurück, um weETH-Sicherheiten freizugeben

Der FlashLoopAdapter-Angriff beinhaltete mehr als nur die Übertragung von Vermögenswerten, die sich bereits in den betroffenen Wallets befanden.

Defimon Alerts sagte, der Angreifer habe einen Morpho WETH Flash Loan aufgenommen und die geliehene Liquidität verwendet, um etwa 1.335 WETH der Aave-Schuld des ersten Safe, identifiziert als 0xcfedf95a3653a128dfc2e4288758a1a1850d169f, zurückzuzahlen.

Die Rückzahlung der Schuld gab Sicherheiten frei, die an die gehebelte Aave-Position gebunden waren. Der Angreifer nutzte dann den kompromittierten Modul-Ausführungspfad, um den Safe dazu zu bringen, etwa 1.306 weETH an eine vom Angreifer kontrollierte Adresse abzuheben.

Ein zweiter Safe, 0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520, verlor weitere 6,4 weETH über dasselbe anfällige Modul.

Defimon sagte, beide betroffenen Safes hätten denselben einzelnen Eigentümer gehabt.

Ein Teil der abgehobenen weETH wurde in WETH getauscht, als der Angreifer den Flash Loan und andere Teile der Transaktion beglich. Dem Angreifer blieben etwa 114,1 ETH, was zum Zeitpunkt der Meldung des Vorfalls einem Wert von etwa 305.000 $ entsprach.

SlowMist bezifferte den Verlust separat auf etwa 114,09 ETH und sagte, dass während des Prozesses der Freigabe der Sicherheiten etwa 1.300 WETH Schulden zurückgezahlt wurden.

Die große Sicherheitenabhebung stellt daher nicht den Nettoerlös des Angreifers dar. Ein Großteil des durch die Transaktion bewegten Kapitals war an die Rückzahlung von Schulden und die Auflösung der gehebelten Position gebunden, bevor die verbleibenden Vermögenswerte entnommen werden konnten.

Aave v3-Verträge wurden nicht als anfällige Komponente identifiziert

Keine der beiden Sicherheitswarnungen identifizierte einen Fehler in Aave v3 selbst.

Aave-Gründer und CEO Stani Kulechov sagte, der betroffene Vertrag sei ein externer Drittanbieter-Adapter gewesen, der auf Aave aufbaue, und habe „null Auswirkung auf Aave v3“.

FlashLoopAdapter ist ein separater benutzerdefinierter Vertrag, der Aave v3 verwendet, um gehebelte Positionen zu verwalten, die über Safe-Wallets gehalten werden. Die gemeldete Schwachstelle betraf, wie der Adapter Aufrufer authentifizierte und was sie das aktivierte Modul ausführen lassen konnten.

Die Unterscheidung ähnelt anderen Vorfällen, bei denen ein Protokoll oder Dienst betriebsbereit blieb, während ein mit Safe-Wallets verbundenes Modul den vom Angreifer genutzten Weg bot.

Im Mai leerte ein Exploit involving the SquidRouterModule Safes auf Ethereum und Base. Etwa 3 Millionen bis 3,2 Millionen $ wurden aus 86 Wallets gestohlen, nachdem Angreifer ein Drittanbieter-Safe-Modul ins Visier genommen hatten, während Squid sagte, seine Haupt-Router-Verträge und Nutzergelder seien nicht betroffen.

Ein weiterer Safe-bezogener Vorfall tauchte Tage später auf, als Nutzer von Gnosis Pay aufgefordert wurden, Gelder abzuheben, nachdem ein Exploit involving its Zodiac delay module bekannt wurde. Gnosis-Mitbegründer Martin Köppelmann sagte damals, der Fehler könne einen Angreifer Transaktionen von Safes aus initiieren lassen, die das betroffene Modul verwenden.

Safe-Module können die Berechtigung erhalten, Transaktionen von einer Wallet auszuführen, ohne jedes Mal den standardmäßigen Eigentümer-Transaktionsablauf zu durchlaufen. FlashLoopAdapter verließ sich auf diese Fähigkeit, um gehebelte Aave-Positionen zu automatisieren, aber dieselbe Berechtigung bedeutete, dass eine erfolgreiche Umgehung der Authentifizierungslogik des Adapters auf Vermögenswerte zugreifen konnte, die vom Safe kontrolliert wurden.

FlashLoopAdapter-Angreifer behielt etwa 114 ETH

SlowMist identifizierte die Angreiferadresse als 0x42c2633438609881c8fBAb82414eb9A0c45F9353, während der anfällige FlashLoopAdapter-Vertrag als 0x16bb8b912da187870c23ec6756bb3fad061283d8 aufgeführt wurde.

Die Angriffssequenz kombinierte die gefälschte Safe-Authentifizierung mit Kontrolle über die Router- und Calldata-Parameter des Adapters. Sobald der bösartige Vertrag die anfängliche Prüfung bestanden hatte, lenkte der Angreifer den Adapter zurück zum Opfer-Safe und rief dessen Modul-Ausführungsfunktion auf.

Ein Morpho Flash Loan lieferte die WETH, die benötigt wurden, um die Aave-Schuld der größeren Wallet zurückzuzahlen, bevor deren weETH-Sicherheiten entfernt werden konnten. Etwa 1.306 weETH wurden von diesem Safe abgehoben, während weitere 6,4 weETH von der zweiten Wallet genommen wurden.

Nachdem die geliehene Liquidität abgewickelt und ein Teil der abgehobenen Vermögenswerte umgewandelt worden war, berechnete Defimon Alerts, dass der Angreifer etwa 114,1 ETH behielt.

SlowMist stufte den Vorfall als Smart-Contract-Schwachstelle ein und schätzte den daraus resultierenden Verlust auf 305.000 US-Dollar.