Euler Finance Hack Postmortem виявляє вразливість 8-місячної давності

Посмертний експлойт експлойту Euler Finance показує, що вразливість у корені експлойту залишалася в мережі протягом 8 місяців. 

В результаті вразливості Euler Finance втратила 200 мільйонів доларів на початку цього тижня. 

Восьмимісячна вразливість 

Аудиторський партнер Euler Finance, Omniscia, опублікував детальний аналітичний звіт про вразливість, якою скористалися хакери на початку тижня. Відповідно до посмертного звіту, уразливість виникла через неправильний механізм пожертвування протоколу децентралізованого фінансування, який дозволяв здійснювати пожертвування без належної перевірки стану. Код було введено в eIP-14, протокол, який вніс ряд змін в екосистему Euler Finance. 

Euler Finance дозволяє користувачам створювати штучне кредитне плече, карбуючи та вносячи активи в одну транзакцію. Цей механізм дозволив користувачам карбувати більше токенів, ніж заставу, яку має сама Euler Finance. Новий механізм дозволив користувачам пожертвувати свій баланс на резервний баланс токена, з яким вони здійснювали транзакцію. Однак він не зміг виконати будь-яку перевірку стану облікового запису, з якого здійснювалася пожертва. 

Як використовувалася вразливість 

Пожертва призвела б до того, що борг користувача (DToken) залишився б незмінним. Однак баланс їхнього капіталу (EToken) зменшиться. На цьому етапі ліквідація облікового запису користувача призведе до того, що частина D-токенів залишиться, що призведе до створення безнадійної заборгованості. Цей недолік дозволив зловмиснику створити позицію з надмірним кредитним плечем, а потім самостійно ліквідувати її в тому ж блоці, штучно спричинивши її «під воду».

Коли хакер ліквідує себе, застосовується відсоткова знижка, що призводить до того, що ліквідатор отримує значну частину одиниць EToken зі знижкою та гарантує, що вони будуть «над водою», створюючи борг, який відповідатиме придбаній заставі. Це призведе до появи порушника з безнадійним боргом (DTokens) і ліквідатора, який має надмірну заставу свого боргу. 

Omniscia заявила, що функція, яка лежала в основі вразливості, не входила до сфери жодних перевірок, проведених фірмою. Згідно з аналізом, сторонній аудит відповідав за перевірку відповідного коду, який потім був затверджений. У липні 2022 року команда Sherlock перевірила функцію donateToReserves. Ейлер і Шерлок також підтвердили, що перший мав активну політику покриття з Шерлоком, коли стався експлойт. 

Euler Finance працює з групами безпеки 

Після подвигу, Euler Finance заявив, що протокол працює з іншими групами безпеки для проведення подальших аудитів. Крім того, він заявив, що також зв’язався з правоохоронними органами та установами, намагаючись повернути вкрадені кошти. 

«Ми спустошені наслідками цієї атаки для користувачів протоколу Euler і продовжуватимемо співпрацювати з нашими партнерами з безпеки, правоохоронними органами та широким співтовариством, щоб вирішити це якнайкраще. Велике спасибі за вашу підтримку та заохочення».

Застереження: Ця стаття надана виключно в ознайомлювальних цілях. Він не пропонується і не призначений для використання як юридична, податкова, інвестиційна, фінансова чи інша порада.

Джерело: https://cryptodaily.co.uk/2023/03/euler-finance-hack-postmortem-reveals-8-month-old-vulnerability