Sfałszowany korzeń partii opróżnia depozyt zkLink Nova w Ethereum do 0,001 ETH
Najważniejsze informacje
- •Atakujący wykorzystał publiczny relayer do wstrzyknięcia sfałszowanego korzenia partii w Ethereum, zezwalając na nieautoryzowane wypłaty ETH i tokenów ERC-20 z depozytu zkLink Nova w warstwie pierwszej.
- •Firma Blockaid oszacowała skradzioną kwotę na około 786 000 USD i ostrzegła, że atak nadal trwał, gdy ujawniła incydent o 22:24 czasu ET 28 października.
- •Największa pojedyncza transakcja, zrealizowana o 18:21 czasu ET, przeniosła 22,43 ETH i 11 tokenów ERC-20 o wartości 778 625,84 USD, w tym 245,74 pufETH, na jeden adres odbiorcy.
- •Pod koniec 28 października w depozycie pozostało tylko około 0,001 ETH, a flaga wstrzymania nie została ustawiona, co pozostawia niejasną ostateczną sumę strat.
- •Był to drugi exploiting w ciągu 11 dni z udziałem sfałszowanych danych wejściowych mostu, po utworzeniu 17 października 10 milionów nieautoryzowanych tokenów CYS przez most międzyłańcuchowy Cysic.

Atakujący opróżnił depozyt zkLink Nova w Ethereum do około 0,001 ETH w środę 28 października, wykorzystując publiczny relayer do przesłania do sieci sfałszowanego korzenia partii. Firma zajmująca się bezpieczeństwem blockchainów Blockaid, która wykryła exploiting, szacuje, że skradziono dotychczas około 786 000 USD w ETH i tokenach ERC-20, i ostrzegła, że atak nadal trwał w momencie publikacji raportu.
Blockaid wykrył atak przez publiczny relayer o 22:24 czasu ET
Blockaid ujawnił incydent w poście na X o 22:24 czasu ET 28 października. Według firmy atakujący wykorzystał publiczny relayer do wstrzyknięcia sfałszowanego korzenia w Ethereum, a następnie sfinalizował wypłaty ETH i tokenów ERC-20 z depozytu Nova w warstwie pierwszej na adresy odbiorców według własnego wyboru.
"~$786k drained from L1 ETH escrow and ERC20 bridge so far. Attack still ongoing," napisał Blockaid.
zkLink Nova przyjmuje aktywa z Ethereum i połączonych sieci warstwy drugiej oraz puluje je. Depozyty pozostają w kontraktach na łańcuchach źródłowych i są zapisywane w Nova za pośrednictwem jej kanonicznego mostu. Korzeń partii (batch root) to wartość skrótu, której most używa do weryfikacji komunikatów — w tym przypadku wypłat zatwierdzonych przez Nova. Zgodnie z projektem rozliczeniowym zkLink partie muszą przejść weryfikację dowodów i spójności międzyłańcuchowej, zanim zostaną sfinalizowane, a wypłaty mogą być realizowane dopiero po zapisaniu korzenia partii w połączonych łańcuchach. Taka architektura stawia aktywa pulowane z wielu łańcuchów za jednym krokiem weryfikacji, co oznacza, że jeden nieprawidłowo zwalidowany korzeń może zezwolić na wypłaty z całego salda depozytu, a nie z pojedynczego konta.
Blockaid poinformował, że sfałszowany korzeń został wstrzyknięty w Ethereum za pośrednictwem publicznego relayera. Logi transakcji ataku pokazują, że nowy korzeń partii został zarejestrowany w tej samej transakcji co wypłaty ETH i tokenów, bezpośrednio przed nimi.
Pojedyncza transakcja o 18:21 przeniosła 778 625,84 USD do jednego odbiorcy
Największa transakcja odbyła się 28 października o 18:21 czasu ET, kilka godzin przed alertem Blockaidu. Pobrała 22,43 ETH z depozytu Nova w Ethereum oraz 11 tokenów ERC-20 z mostu tokenów i wysłała wszystko na jeden adres. Wątek Blockaidu wskazał dwa adresy używane przez hakera i zidentyfikował most ERC-20 jako drugi kontrakt docelowy.
Największą pozycją było 245,74 pufETH o wartości około 613 536 USD według cen Etherscan. Razem z nim wypłynęło około 18 113 USDC i 3 361 USDT. Według cen wyświetlanych przez Etherscan transfery sumują się do 778 625,84 USD, jednak ponieważ kwota obejmuje tylko jedną transakcję, trudno ustalić łączną wysokość strat.
Etherscan pokazał później, że w zhakowanym depozycie ETH pozostało tylko około 0,001 ETH. Na stan godziny 22:29 czasu ET flaga wstrzymania depozytu nadal nie została ustawiona, więc nie jest jasne, czy inne mechanizmy kontroli zatrzymały dalsze wypłaty. Otwartymi kwestiami w momencie pisania były ustawienie flagi wstrzymania oraz ostateczna suma strat po zsumowaniu wszystkich dotkniętych transakcji.
Sfałszowane dane wejściowe uderzyły w inny most 11 dni wcześniej
Incydent z zkLink był drugim w ciągu 11 dni z udziałem sfałszowanych danych wejściowych mostu. 17 października, jak informował Cryptopolitan, za pomocą sfałszowanej wiadomości mint utworzono 10 milionów nieautoryzowanych tokenów CYS przez most międzyłańcuchowy Cysic. Atakujący z Cysic sprzedał 7,2 miliona tokenów, a jego portfel przesłał około 727 000 USD do Ethereum, zanim projekt umieścił go na czarnej liście.
Oddzielnie około 7,54 miliona USD opuściło most Verus w Ethereum w lipcu — to drugi raz, gdy most stracił środki. W maju podczas pierwszego incydentu zabrano 11,58 miliona USD. Blockaid powiązał oba ataki na Verus z tym samym kontraktem i ścieżką importu. Eksploiting z maja wynikał z około 10 brakujących linii walidacji Solidity w funkcji checkCCEValues mostu — to sama klasa błędu walidacji, która stała za atakami na Wormhole i Nomad w 2022 roku — włamaniami, które łącznie opróżniły wtedy setki milionów dolarów. Ostatnia seria incydentów oparta na sfałszowanych wiadomościach mint, podrobionych korzeniach partii i brakujących kontrolach walidacji pokazuje, jak wielka pulowana wartość międzyłańcuchowa może zależeć od kodu weryfikacyjnego mostu.