🚨 V4 Swap Router de z0r0z - Pierdere $42.6K (2026-03-03) Tip: Codare ABI / Ocolire de autorizare Funcția swap(bytes,uint256) din UniswapV4Router04 folosește asamblare inline cu un offset hardcoded calldata (calldataload(164)) pentru a verifica dacă plătitorul din datele swap este egal cu msg.sender. Aceasta presupune codarea ABI standard, unde decalajul parametrului de octeți este întotdeauna 0x40. Un atacator a creat date de apel codificate ABI nestandard (dar valide), cu offset-ul de octeți setat la 0xc0, plasându-și propria adresă la poziția 164 pentru a trece verificarea autorizării, în timp ce datele efective de octeți decodate conțineau adresa victimei ca plătitor. Acest lucru a permis atacatorului să dreneze 42.607 USDC dintr-un portofel victimă (un EOA delegat EIP-7702) care aprobase routerul, schimbându-l cu 21,2 ETH prin pool-ul ETH/USDC al Uniswap V4. TX: Victimă: Router: Am luat legătura cu @z0r0zzz, dar contractul nu poate fi actualizat și nu poate fi pus pe pauză. Revocați aprobările către UniswapV4Router04!