Popularne tematy
#
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 zgłosił krytyczną lukę w protokole @40acresFinance.
Zespół 40acres hojnie pozwolił nam na publiczne udostępnienie szczegółów, aby inni mogli się uczyć z tego odkrycia.
Oto jak działała ta luka:
Po pierwsze, veNFT to specjalny typ tokenów ERC721, które są zablokowane w głosowaniu i zarabiają tygodniowe nagrody.
40acres daje posiadaczom veNFT natychmiastowy dostęp do pożyczek na podstawie przyszłych przychodów ich veNFT.
Każdy veNFT pożyczkobiorcy znajduje się w osobistym PortfolioAccount, który kieruje funkcjonalność przez modułowe „aspekty” przy użyciu wzorca proxy diamentowego.
Eksploatacja pozwala atakującemu na odzyskanie swojego zabezpieczenia (veNFT) z PortfolioAccount bez spłacania pożyczki.
Sprawdź funkcję aerodromeVote() poniżej. 40acres ma bardzo fajną funkcję, która pozwala pożyczkobiorcom głosować swoimi veNFT, które są trzymane jako zabezpieczenie w 40acres.
Funkcja ma następujący problem: adres loanContract nie jest weryfikowany, co pozwala złośliwemu użytkownikowi na określenie dowolnego kontraktu. Ten kontrakt mógłby być zatwierdzony do kontrolowania veNFT w PortfolioAccount, co umożliwia jego transfer podczas wywołania vote() w złośliwym loanContract.
Kroki ataku
1) Atakujący wdraża złośliwy kontrakt, który implementuje wywołanie transferFrom/safeTransferFrom do transferu zatwierdzonego veNFT.
2) Atakujący wywołuje portfolioAccount.aerodromeVote(złośliwyKontrakt, tokenId). Fallback portfolio deleguje do aspektu, który nie ma walidacji wejściowej i wywołuje oraz transferuje veNFT z powrotem do atakującego, mimo że pożyczka nie została spłacona.
Uwaga: Powtarzanie błędu powoduje opróżnienie puli pożyczkowej - zrobienie tego raz to tylko wzięcie pożyczki i kradzież swojego veNFT z powrotem.
Wpływ
Nie zabezpieczone pożyczki w całym systemie. Każdy pożyczkobiorca może odzyskać swoje zabezpieczenie w trakcie pożyczki, co prowadzi do całkowitej niewypłacalności puli pożyczkowej.
Podziękowania
Dziękujemy @defsec_, @vinica_boy i @onthehunt11_ za pomoc w tym opisie.
Ważne do wiedzenia: Zespół 40acres odkrył błąd i zastosował poprawkę przed uruchomieniem.
Wykryte przez Sherlock AI
Możesz zobaczyć oryginalny problem wygenerowany przez Sherlock AI w następnym tweecie.
Cała operacja zajęła 3 godziny 59 minut od początku do końca.
Sherlock AI wprowadza bezpieczeństwo do procesu rozwoju, skanując commity i ścieżki wywołań na wczesnym etapie, szybko ujawniając poważne błędy i dając audytorom lepszą widoczność w złożonych systemach. W praktyce oznacza to, że takie problemy mogą być wykrywane i rozwiązywane znacznie przed audytami, nagrodami lub wdrożeniem.
Wypróbuj Sherlock AI dla swojego protokołu już dziś.



Oryginalne problemy wygenerowane przez Sherlock AI:
Oryginalne problemy wygenerowane przez Sherlock AI:
Wypróbuj Sherlock AI dla swojego zespołu już dziś:

32,13K
Najlepsze
Ranking
Ulubione

