Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Sherlock AI повідомив про критичну вразливість у протоколі @40acresFinance.
Команда 40 акрів щедро дозволила нам публічно поділитися деталями, щоб інші могли вчитися зі знахідки.
Ось як спрацювала вразливість:
По-перше, veNFT – це особливий тип токенів ERC721 з депонуванням голосів, які отримують щотижневі винагороди. 
40acres надає власникам veNFT миттєвий доступ до кредитів на основі майбутнього доходу їхніх veNFT.
veNFT кожного позичальника знаходиться в особистому обліковому записі PortfolioAccount, який спрямовує функціональність через модульні «грані» за допомогою діамантового проксі-патерну.
Експлойт дозволяє зловмиснику повернути свою заставу (veNFT) зі свого PortfolioAccount без погашення позики.
Ознайомтеся з функцією aerodromeVote() нижче. 40acres має дуже круту функцію, яка дозволяє позичальникам голосувати зі своїми veNFT, що зберігаються як застава в 40акрах.
Функція має наступну проблему: адреса loanContract не перевіряється, що дозволяє зловмисному користувачеві вказати довільний контракт. Цей контракт може бути схвалений для контролю veNFT у PortfolioAccount, що дозволить його передачу під час виклику vote() у шкідливому контракті позики.
Етапи атаки
1) Зловмисник розгортає шкідливий контракт, який реалізує виклик transferFrom/safeTransferFrom для передачі схваленого veNFT.
2) Зловмисник викликає portfolioAccount.aerodromeVote(maliciousContract, tokenId). Резервний портфель делегує грань, якій не вистачає перевірки введення та викликів, і передає veNFT назад зловмиснику, навіть якщо кредит не був погашений.
Примітка: Повторення помилки призводить до виснаження кредитного пулу - якщо зробити це один раз, це просто взяти кредит і вкрасти свій veNFT назад.
Вплив
Незабезпечені кредити по всій системі. Будь-який позичальник може витребувати власну заставу в середині кредиту, що призведе до повної неплатоспроможності кредитного пулу.
Подяки
Дякуємо @defsec_, @vinica_boy та @onthehunt11_ за допомогу з цією статтею.
Важливо знати: Команда 40acres виявила помилку та застосувала її до запуску
Виявлено Шерлоком ШІ
Ви можете побачити оригінальну проблему, згенеровану Sherlock AI, у наступному твіті.
Забіг зайняв 3 години 59 хвилин від старту до фінішу.
Sherlock AI забезпечує безпеку в процесі розробки, скануючи коміти та шляхи викликів на ранніх стадіях, швидко виявляючи серйозні недоліки та надаючи аудиторам більш чітку видимість складних систем. На практиці це означає, що такі проблеми можуть бути виявлені та вирішені задовго до аудиту, винагороди або розгортання.
Спробуйте Sherlock AI для свого протоколу вже сьогодні.



Оригінальні проблеми, створені Sherlock AI: 
Оригінальні проблеми, створені Sherlock AI: 
Спробуйте Sherlock AI для своєї команди вже сьогодні:

59,59K
Найкращі
Рейтинг
Вибране

