AktualnościKryptoSlowMist: Moduł Aave v3 Loop Safe wykorzystany przez lukę w kontroli dostępu, skradzione 114,09 ETH

SlowMist: Moduł Aave v3 Loop Safe wykorzystany przez lukę w kontroli dostępu, skradzione 114,09 ETH

Autor: Metaverse Post·

Najważniejsze informacje

  • •Atakujący ukradli około 114,09 ETH, wyceniane na około 305 000 USD, z dwóch portfeli wielopodpisowych Safe, wykorzystując FlashLoopAdapter — moduł Safe automatyzujący pozycje z dźwignią na Aave v3.
  • •Pierwotną przyczyną była słaba kontrola dostępu w funkcjach open() i close() adaptera, opierająca się na podatnej na fałszowanie weryfikacji isModuleEnabled, którą fałszywy kontrakt Safe mógł zawsze zaliczyć.
  • •Atakujący użył błyskawicznej pożyczki WETH z Morpho do spłaty około 1335 WETH długu na większym portfelu, odblokowując około 1306 weETH zabezpieczeń do wypłaty, podczas gdy drugi portfel stracił dodatkowe 6,4 weETH; oba portfele miały tego samego jedynego właściciela.
  • •Założyciel i dyrektor generalny Aave Stani Kulechov stwierdził, że wykorzystany kod był zewnętrznym adapterem strony trzeciej zbudowanym na protokole, bez żadnego wpływu na kontrakty rdzenia Aave v3.
  • •Wykorzystanie luki odzwierciedla powtarzający się wzorzec incydentów z modułami Safe, w tym atak we wrześniu obejmujący około 2900 rsETH oraz wypłucenie około 3 milionów USD z 86 portfeli w maju za pośrednictwem SquidRouterModule.
SlowMist: Moduł Aave v3 Loop Safe wykorzystany przez lukę w kontroli dostępu, skradzione 114,09 ETH

Firma zajmująca się bezpieczeństwem blockchainów SlowMist wydała alert po tym, jak moduł Aave v3 Loop Safe został wykorzystany poprzez lukę w kontroli dostępu, co doprowadziło do wypłucenia około 114,09 ETH (około 305 000 USD) z dwóch portfeli wielopodpisowych Safe. Atak, wykryty 1 października przez Defimon Alerts, był wymierzony w kontrakt FlashLoopAdapter, ale pozostawił rdzeń protokołu Aave v3 nietknięty.

SlowMist TI Alert @aave v3 Loop Safe Module Loss: ~114.09 ETH Root Cause: FlashLoopAdapter's open()/close() access control only checks ISafe(msg.sender).isModuleEnabled(address(this)), which is spoofable via a fake Safe that always returns true. Its _swap() then… — SlowMist (@SlowMist_Team) October 2, 2026

FlashLoopAdapter to moduł Safe zaprojektowany do automatyzacji otwierania i zamykania pozycji z dźwignią na Aave v3 — strategii polegającej na cyklicznym dostarczaniu zabezpieczeń i zaciąganiu przeciwko nim pożyczek w celu zwiększenia ekspozycji. Moduły Safe to kontrakty dodatkowe, które rozszerzają funkcjonalność portfela wielopodpisowego o niestandardowe możliwości, takie jak automatyczne zarządzanie pozycjami. Według SlowMist pierwotną przyczyną wykorzystania były kontrole dostępu funkcji open() i close() adaptera. Zamiast niezależnie weryfikować tożsamość wywołującego, funkcje jedynie sprawdzały, czy ISafe(msg.sender).isModuleEnabled(address(this)) zwraca wartość true. Atakujący mógł więc wdrożyć fałszywy kontrakt Safe zaprogramowany tak, aby zawsze zwracał true, co pozwalało złośliwemu wywołującemu przejść weryfikację.

Następnie atakujący wykorzystali funkcję _swap() modułu, która wykonuje surowe wywołanie do dostarczonego przez wywołującego routera z w pełni kontrolowanymi przez atakującego danymi calldata. Ustawiając router na adres ofiary Safe, a calldata na execTransactionFromModule — funkcję Safe, która pozwala włączonemu modułowi wykonywać transakcje — atakujący w efekcie przekształcili uprawnienia samego adaptera w zdalne narzędzie kontroli nad portfelami ofiar. Ponieważ FlashLoopAdapter był już włączony jako moduł w obu atakowanych portfelach Safe, wynikowe wywołania zostałyjęte bez problemu.

Łańcuch ataku wykraczał poza proste opróżnienie dostępnych sald. Atakujący wziął błyskawiczną pożyczkę WETH z Morpho — rodzaj pożyczki bez zabezpieczenia, którą należy spłacić w ramach tej samej transakcji — i użył pożyczonych środków do spłaty około 1335 WETH długu Aave należącego do większego portfela, zidentyfikowanego jako 0xcfedf95a3653a128dfc2e4288758a1a1850d169f. Spłata długu odblokowała zabezpieczenia pozycji z dźwignią, po czym atakujący nakazał portfelowi Safe wypłatę około 1306 weETH — tokena płynnego restakingu — na kontrolowany przez atakującego adres.

Drugi portfel Safe, 0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520, stracił dodatkowe 6,4 weETH tą samą metodą. Defimon Alerts zauważył, że oba portfele miały tego samego jedynego właściciela. Po spłacie pożyczki błyskawicznej i konwersji części wypłaconych zabezpieczeń na WETH atakujący zatrzymał około 114,1 ETH. Adres atakującego został zidentyfikowany jako 0x42c2633438609881cfBAb82414eb9A0c45F9353, a podatny kontrakt znajduje się pod adresem 0x16bb8b912da187870c23ec6756bb3fad061283d8.

Rdzeń Aave v3 nietknięty, co przypomina wcześniejsze incydenty z modułami Safe

This is not Aave v3 contract, it's third party external adapter built on top of Aave, zero effect on Aave v3. — Stani (@StaniKulechov) October 2, 2026

W odpowiedzi na incydent założyciel i dyrektor generalny Aave Stani Kulechov wyjaśnił w poście, że wykorzystany kod nie był częścią samego Aave v3, lecz zewnętrznym adapterem strony trzeciej zbudowanym na protokole, bez żadnego wpływu na kontrakty rdzenia. Żadne z alertów bezpieczeństwa nie wykryło podatności w Aave v3, który działał normalnie.

Mimo to wykorzystanie luki uwypukla powtarzający się wzorzec w ekosystemie Safe. Ponieważ moduły otrzymują możliwość wykonywania transakcji z portfela bez przechodzenia przez standardowy proces zatwierdzania przez właściciela, pojedyncza wada w logice uwierzytelniania modułu może narazić wszystkie kontrolowane przez niego aktywa — a ponieważ portfele wielopodpisowe Safe są standardowym elementem infrastruktury DeFi, powszechnie używanym do przechowywania skarbców protokołów i kontroli administracyjnych, bezpieczeństwo każdego włączonego modułu w efekcie staje się częścią samego obwodu ochronnego portfela. Podobna słabość ujawniła się we wrześniu, kiedy exploit na Ethereum Safe obejmujący około 2900 rsETH został wyśledzony do nieadekwatnych kontroli autoryzacji w kontrakcie wykonawczym powiązanym z włączonym modułem. W maju atakujący wypłucili około3 milionów USD z 86 portfeli, wykorzystując SquidRouterModule, a użytkowników Gnosis Pay oddzielnie wezwano do wypłaty środków po odkryciu luki w module opóźniającym Zodiac.