- Злоумышленник вывел 200 ETH из legacy-контракта MakerDAO на Ethereum.
- Уязвимость позволила ему получить полный контроль над учетной записью контракта в MakerDAO Vat.
- Украденные средства начали поступать в Tornado Cash уже через шесть минут после атаки.
6 октября 2026 года неизвестный злоумышленник воспользовался уязвимостью в устаревшем контракте MakerDAO на Ethereum и похитил 200 ETH на сумму около $543 000.
#CertiKInsight On 6 Oct, a MakerDAO liquidation keeper bot was exploited resulting in a loss of 200 ETH (~$542k). Read our full analysis here https://t.co/Tak24xRZYs Find all our stats on our CertiK Security Report Dashboard https://t.co/0s5Uv84lqY
— CertiK Alert (@CertiKAlert) October 7, 2026
Атаку осуществили через legacy auction keeper, который хранил залог из ликвидаций MakerDAO в марте 2020 года, известных как «черный четверг». Эксплойт стал возможен из-за отсутствия контроля доступа к одной из функций контракта.
Как произошла атака
По данным анализа инцидента, хакер сначала профинансировал адрес 0,1 ETH через Tornado Cash, а в 06:12 UTC развернул специальный контракт для атаки. Через минуту он совершил транзакцию, которая позволила получить доступ к активам старого keeper-контракта.
Ключевой проблемой стала функция 0x8804d1de в реализации контракта. В отличие от других привилегированных функций, она не проверяла права доступа и позволяла передать произвольному адресу делегацию через MakerDAO Vat.
Схема эксплойта состояла из нескольких этапов:
- хакер создал адаптерный модуль и передал его адрес в уязвимую функцию keeper;
- контракт предоставил этому модулю полный контроль над учетной записью keeper в Vat через Vat.hope();
- после этого keeper вызвал функцию join() модуля, передав выполнение кода злоумышленнику;
- злоумышленник завершил четыре старых аукциона — №1457, 1458, 1459 и 1460;
- каждый из них содержал лот на 50 ETH, который keeper выиграл по нулевой ставке еще в марте 2020 года, но так и не рассчитался за него;
- после завершения аукционов 200 ETH зачислили на счет keeper в Vat, откуда злоумышленник вывел их через полученную делегацию.
Таким образом, именно незавершенные позиции из ликвидаций 2020 года сделали старую уязвимость экономически выгодной.
Средства начали миксовать через шесть минут
Все 200 ETH поступили злоумышленнику в рамках одной эксплойт-транзакции через минуту после атаки. Уже через шесть минут он осуществил первый перевод в Tornado Cash.
В целом злоумышленник начал распределять украденные средства на депозиты по 10 ETH. Анализ транзакций показывает, что для этого использовался Tornado Cash router.
Главной причиной инцидента стало именно отсутствие проверки прав доступа к функции 0x8804d1de. Кроме того, после предоставления делегации контракт не вызывал nope, поэтому переданные полномочия остались активными после завершения операции.
Напомним, что в 2023 году неизвестный арбитражный бот использовал контракт MakerDAO DssFlash, чтобы получить флеш-кредит на $200 млн в DAI, но после комиссий заработал лишь $3,24. В 2024 году протокол Curio, связанный с экосистемой MakerDAO, подвергся другой атаке из-за уязвимости смарт-контракта: злоумышленник выпустил 1 млрд CGT, а ущерб впоследствии оценили в $16 млн.
Сообщение Хакер украл более полумиллиона долларов у MakerDAO через уязвимость в контракте 2020 года появились сначала на INCRYPTED.