Из-за бага в библиотеке Solana злоумышленники могли красть по $27 млн в час
Ошибка в библиотеке программ протокола Solana (SPL) потенциально позволяла красть у нескольких крупных DeFi-проектов средства со скоростью примерно $27 млн в час. Это выяснили специалисты из команды Neodyme.
We recently discovered a critical bug in the token-lending contract of the solana-program-library (SPL). This blog post details our journey from discovery, through exploitation and coordinated disclosure, and finally the fix.
— Neodyme (@Neodyme) December 3, 2021
Под угрозой находились агрегатор доходности Tulip Protocol, а также протоколы кредитования Solend и Larix. На пике совокупная TVL этих проектов достигала $2,6 млрд.
Эксперты отметили, что баг публично раскрыл один из аудиторов группы под ником Simon еще в июне. 1 декабря он обнаружил, что уязвимость не исправлена. Как предположили в Neodyme, возможно, ее посчитали безобидной.
Однако эксперты выяснили, что баг позволяет быстро украсть «сотни миллионов долларов» через крошечные суммы.
Для активов на Solana необходимо указывать количество нулей после запятой, а программа из SPL для вывода средств округляет минимальный номинал актива до ближайшего целого числа, пояснили эксперты.
Теоретически ничего не мешает настроить выход так, чтобы получать округление в свою пользу и выводить эту сумму. Однако, например, для токена Solana она составляет 1 Lamport, равный 0,000000001 SOL или примерно $0,00000022 (на момент исследования). Комиссия за транзакцию превышает это значение почти в 5000 раз, подчеркнули в Neodym.
При этом у криптовалют с более крупным номиналом этот разрыв выглядит не таким катастрофическим. Проверяя свою теорию на копии блокчейна, эксперты смогли украсть $0,05 в биткоине и $0,005 в Ethereum.
Поскольку в сети Solana транзакция может содержать множество инструкций, специалисты Neodyme с помощью эксплойта осуществили около 300 переводов в секунду. В случае с биткоином это означало примерно $7500 украденных средств за период или ~$27 млн в час. Атака стала экономически целесообразной также на токены FTT и даже RAY.
Эксперты связались с Solana Foundation и восемью проектами, затронутыми, по их мнению, уязвимостью. В некоторых случаях предположения оказались ошибочными, а в Port Finance проблему самостоятельно устранили несколько месяцев назад. В Tulip, Solend и Larix сделали это после обращения, изменения в документацию внесла и команда Solana.
Напомним, в начале декабря хакер вывел из DeFi-проекта Badger DAO активы на сумму свыше $120 млн.
Источник: cryptocurrency.tech