Баг в библиотеке Solana позволял за час украсть до $27 млн
Ошибка в библиотеке программ протокола Solana (SPL) потенциально позволяла красть у нескольких крупных DeFi-проектов средства со скоростью примерно $27 млн в час. Это выяснили специалисты из команды Neodyme.
Под угрозой находились агрегатор доходности 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 млн.
Подписывайтесь на новости ForkLog в Twitter.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!