🚨 $GPX wurde für 114,9k $ über einen Hook-Reentrancy-Exploit auf Uniswap v4 ausgehöhlt

Der Angreifer missbrauchte die reBalance()-Funktion von GPXHooks, die einen PositionManager innerhalb eines Unlock-Kontexts teilt, ohne auf Null-Deltas zu prüfen

Der Ablauf:
• Angreifer öffnet Unlock und mintet eine WETH/USDC-Position via MINT_POSITION ohne Abrechnung → lässt den PositionManager mit einem -114.999 USDC-Delta zurück
• Swaps auf dem GPX-Pool ausführen, um ein stündliches Rebalancing auszulösen
• Der Hook verbrennt seine echte Position und erhält +148.868 USDC-Guthaben
• TAKE_PAIR zieht nur das Netto-positive Delta ab → der Hook erhält 33.868 USDC
• Phantombetrugsschuld des Angreifers absorbiert die Differenz
• Eigene Position verbrennen, um die Schuld zu stornieren, und 114.999 USDC direkt aus dem PoolManager herausziehen

Ursache: Fehlende Delta-Isolationsprüfung auf dem geteilten PositionManager. Klassischer Fall, bei dem Hook-Zustand in den Caller-Zustand im Flash-Accounting-Modell von v4 „blutet“

Angreifer: 0x4a5FD2e9357cC87DF4cD6A1808174DBc8646899F
Opfer-Contract: 0x4519e2b040ff1B64fa03aBe2AeF0BC99D7CcEaA8

Wenn du auf Uniswap v4 Hooks aufbaust: Isolier deinen Position-Manager-State – oder du bist der/die Nächste