Кредитное приложение Era Lend на zkSync было использовано для криптовалюты на сумму 3,4 миллиона долларов, согласно отчету компании CertiK, занимающейся безопасностью блокчейн, от 25 июля. Злоумышленник использовал «атаку с повторным входом только для чтения» для слива средств, которая является типом атаки, которая прерывает многоэтапный процесс, а затем заставляет его продолжаться после выполнения вредоносного действия. В частности, повторный вход «только для чтения» не обновляет состояние контракта.
We are seeing reports that @Era_Lend has been exploited on zkSync
Total losses appear to be $3.4 million in a read only reentrancy attack
See more below https://t.co/h8xrjccE5i
— CertiK Alert (@CertiKAlert) July 25, 2023
Согласно отчету, злоумышленник вывел средства двумя отдельными транзакциями, используя внешний аккаунт 0xf1D076c9Be4533086f967e14EE6aFf204D5ECE7a. Они полагались на уязвимость в «функции обратного вызова и _updateReserves», чтобы манипулировать контрактом и сообщать о старых значениях, которые еще не были обновлены.
Era Lend является ответвлением проекта Syncswap, и CertiK заявила, что другие проекты, основанные на Syncswap, также могут быть уязвимы для эксплойта.
Сетевой сыщик и пользователь Twitter Spreek сообщил, что код Syncswap позволяет пользователю «записать, а затем выполнить обратный вызов перед вызовом update_reserves», в результате чего оракул сообщает неверные значения.
in the syncswap LP tokens, one can burn, then callback before update_reserves is called. so the oracle uses an incorrect reserves value to calculate the price, resulting in an inflating oracle price. pic.twitter.com/0U7Vu7BzJM
— Spreek (@spreekaway) July 25, 2023
Spreek также сообщил, что команда Era Lend признала атаку и приостановила контракты zkSync протокола, чтобы предотвратить дальнейшие эксплойты.
Другой исследователь блокчейна, известный в Твиттере как Сол, сообщил, что атака затронула стейблкоин USDC+, выпущенный протоколом Overnight Finance. По словам Сола, команда Overnight признала разоблачение и также приостановила свои собственные контракты. Возможно, было потеряно более 261 000 долларов США, или 7,86% от общей стоимости залога, поддерживающего стейблкоин.
В сообщении в блоге от 7 июня, объясняющем, как выполняются атаки с повторным входом только для чтения, под псевдонимом исследователя блокчейна Officer’s Notes говорится, что эти уязвимости трудно обнаружить аудиторам, поскольку «обычно аудиторы и охотники за ошибками интересуются только точками входа, которые изменяют состояние при поиске повторного входа».
Чтобы решить эту проблему, Officer’s Notes рекомендует аудиторам использовать специализированное программное обеспечение, помогающее им находить эти уязвимости.
Era Lend работает в сети zkSync, накопительном пакете Ethereum уровня 2 с нулевым разглашением. В апреле общая стоимость заблокированной сети превысила 110 миллионов долларов. Разработчики сети намерены к концу года создать экосистему интероперабельных цепочек под названием «Гиперчейны».