🚨 V4 Swap Router door z0r0z - Verlies $42.6K (2026-03-03) Type: ABI Codering / Autorisatie Omzeiling De swap(bytes,uint256) functie in UniswapV4Router04 gebruikt inline assembly met een hardcoded calldata offset (calldataload(164)) om te verifiëren dat de betaler in de swapgegevens gelijk is aan msg.sender. Dit gaat ervan uit dat de standaard ABI-codering is waarbij de bytes parameter offset altijd 0x40 is. Een aanvaller heeft niet-standaard (maar geldig) ABI-gecodeerde calldata gemaakt met de bytes offset ingesteld op 0xc0, waardoor hun eigen adres op positie 164 werd geplaatst om de autorisatiecontrole te passeren, terwijl de werkelijke gedecodeerde bytesgegevens het adres van het slachtoffer als de betaler bevatten. Dit stelde de aanvaller in staat om 42.607 USDC uit een slachtofferportemonnee (een EIP-7702 gedelegeerde EOA) te onttrekken die de router had goedgekeurd, en dit om te wisselen voor 21,2 ETH via Uniswap V4's ETH/USDC pool. TX: Slachtoffer: Router: We hebben contact opgenomen met @z0r0zzz, maar het contract is niet upgradeerbaar en kan niet worden gepauzeerd. Intrekken van goedkeuringen voor UniswapV4Router04!