🚨 V4 Swap Router von z0r0z - Verlust $42,6K (2026-03-03) Typ: ABI-Codierung / Autorisierungsumgehung Die Funktion swap(bytes,uint256) im UniswapV4Router04 verwendet Inline-Assembly mit einem fest codierten Calldata-Offset (calldataload(164)), um zu überprüfen, ob der Zahler in den Swap-Daten msg.sender entspricht. Dies setzt eine standardmäßige ABI-Codierung voraus, bei der der Offset des Bytes-Parameters immer 0x40 ist. Ein Angreifer hat nicht-standardisierte (aber gültige) ABI-codierte Calldata mit dem Bytes-Offset auf 0xc0 erstellt und seine eigene Adresse an Position 164 platziert, um die Autorisierungsprüfung zu bestehen, während die tatsächlich dekodierten Bytes-Daten die Adresse des Opfers als Zahler enthielten. Dies ermöglichte es dem Angreifer, 42.607 USDC aus einer Opfer-Wallet (einer EIP-7702 delegierten EOA) abzuziehen, die den Router genehmigt hatte, und es gegen 21,2 ETH über den ETH/USDC-Pool von Uniswap V4 zu tauschen. TX: Opfer: Router: Wir haben @z0r0zzz kontaktiert, aber der Vertrag ist nicht upgradefähig und kann nicht pausiert werden. Widerrufen Sie die Genehmigungen für UniswapV4Router04!