По данным PeckShield, Omni, платформа денежного рынка невзаимозаменяемых токенов (NFT), в воскресенье потеряла около 1300 ETH (1,43 миллиона долларов) в результате атаки с повторным входом в кредит. Omni позволяет пользователям размещать свои NFT, обычно из популярных коллекций, таких как Bored Ape Yacht Club, для получения токенов, таких как эфир (ETH). В ходе сегодняшней атаки хакер использовал уязвимость повторного входа в протокол Omni. Повторный вход — это известная уязвимость в проектах, написанных с помощью Solidity, которая позволяет злоумышленнику заставить свой смарт-контракт выполнить внешний вызов ненадежного контракта. Этот внешний вызов выполняется перед исходной функцией и, таким образом, может использоваться для многократного повторного входа в протокол для истощения его ликвидности. Яджин Чжоу, генеральный директор компании BlockSec, занимающейся безопасностью блокчейнов, объяснил процесс эксплойта, заявив, что злоумышленник депонировал NFT из коллекции под названием Doodles. Эти NFT использовались в качестве залога для заимствования ETH (WETH). Затем злоумышленник воспользовался уязвимостью повторного входа, сняв все NFT, кроме одного, депонированные в качестве залога. Это действие активировало вредоносную функцию обратного вызова в интересах злоумышленника. Эта функция позволила хакеру использовать заемные средства для покупки еще большего количества Doodles, прежде чем ликвидировать кредитную позицию. Как только позиция ликвидирована, оставшаяся часть Doodle NFT из исходного обеспечения возвращается злоумышленнику. Кредитная позиция ликвидируется, потому что стоимость NFT, которая изначально была оставлена в качестве залога до вызова функции обратного вызова, была недостаточной для покрытия долговой позиции. Именно здесь возникает повторный вход, поскольку злоумышленник может принудительно использовать заимствованный WETH, чтобы купить больше NFT до того, как произойдет ликвидация. Затем злоумышленник использовал дудлы, полученные с помощью первоначального кредита, в качестве залога, чтобы занять больше WETH. Однако Omni не распознал эту новую долговую позицию, поэтому хакер мог отозвать NFT, не возвращая кредит. Атака лишила протокол более 1300 WETH (1,4 миллиона долларов).
Источник: