Контракт DBXen скомпрометирован, убытки оцениваются в 150 000 долларов США

iconChaincatcher
Поделиться
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconСводка

expand icon
Контракт DBXen был эксплуатирован сегодня, потери оцениваются в 150 000 долларов США. Проблема возникла из-за несоответствия идентификации отправителя в мета-транзакциях ERC2771. Функция burnBatch() использовала _msgSender() в gasWrapper(), в то время как onTokenBurned() использовала msg.sender, что привело к некорректному отслеживанию пользователей. Это вызвало ошибки в расчетах вознаграждений и комиссий в claimFees() и claimRewards(). Обновление по ETH показывает постоянные риски, связанные со смарт-контрактами. Обновление по BTC подчеркивает необходимость постоянных аудитов безопасности.

ChainCatcher сообщает, что согласно мониторингу BlockSec, контракт DBXen подвергся атаке сегодня утром, с оценочным ущербом в размере около 150 000 долларов США. Основная причина заключается в несоответствии идентификатора отправителя при использовании ERC2771 мета-транзакций. В функции burnBatch() декоратор gasWrapper() использует _msgSender() (реальный пользователь) для обновления состояния, в то время как обратный вызов onTokenBurned() использует msg.sender (форвардер). Это приводит к тому, что accCycleBatchesBurned регистрируется для пользователя, а lastActiveCycle некорректно обновляется для форвардера. Это несоответствие нарушает логику функций claimFees() и claimRewards(). При выполнении updateStats() для пользователя контракт ошибочно считает, что существуют необработанные уничтоженные пакеты, поскольку accCycleBatchesBurned был обновлен, а lastActiveCycle — нет, что приводит к некорректному расчету вознаграждений и комиссий, позволяя злоумышленнику извлекать избыточные средства в свою пользу.

Отказ от ответственности: Информация на этой странице может быть получена от третьих лиц и не обязательно отражает взгляды или мнения KuCoin. Данный контент предоставляется исключительно в общих информационных целях, без каких-либо заверений или гарантий, а также не может быть истолкован как финансовый или инвестиционный совет. KuCoin не несет ответственности за ошибки или упущения, а также за любые результаты, полученные в результате использования этой информации. Инвестиции в цифровые активы могут быть рискованными. Пожалуйста, тщательно оценивайте риски, связанные с продуктом, и свою устойчивость к риску, исходя из собственных финансовых обстоятельств. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Уведомлением о риске.