Aller au contenu
Fondé MMXXVIVol. VI · № 347RSS
Blockchain Breaches

Archive des incidents de sécurité dans les cryptomonnaies — piratages, exploits, défaillances de ponts et rug pulls, documentés avec des preuves on-chain.

Dossier № 346Bug de smart contract

Fuite de delta GPXHooks de GoldPesa (Uniswap v4)

Une faille comptable dans l'unlock partagé du hook Uniswap v4 de GoldPesa a laissé un attaquant compenser une dette fantôme USDC contre le retrait de rééquilibrage et siphonner ~114 900 USD sur Base.

Date
Victime
GoldPesa
Chaîne(s)
Statut
Fonds dérobés

Le 2 octobre 2026, GoldPesa (GPX) a perdu environ 114 900 USD sur Base après qu'un attaquant a exploité une faille comptable dans l'unlock partagé de GPXHooks, le hook Uniswap v4 du projet qui gère sa liquidité détenue par le protocole. Le moniteur on-chain Defimon Alerts a repéré la transaction unique, et une preuve de concept a été publiée dans le dépôt DeFiHackLabs.

Ce qui s'est passé

GPXHooks rééquilibre la liquidité GPX/USDC détenue par le protocole de GoldPesa dans le callback beforeSwap() du hook une fois qu'une heure s'est écoulée depuis le dernier rééquilibrage. Pour cela, il appelle modifyLiquiditiesWithoutUnlock avec un BURN_POSITION suivi d'un TAKE_PAIR. La faiblesse tient au fait que TAKE_PAIR ne retire que le delta de devise net positif du PositionManager sur l'unlock du PoolManager actuellement ouvert — et le hook n'a jamais vérifié que ses propres deltas GPX/USDC étaient isolés et réellement nuls avant de s'appuyer sur ce retrait.

L'attaquant en a fait un siphonnage en semant une dette fantôme. Opérant dans son propre unlock, il a frappé une position WETH/USDC via MINT_POSITION sans régler le paiement, laissant le PositionManager partagé porter un delta d'environ −114 999 USDC. Deux petits achats sur le pool GPX ont alors déclenché le rééquilibrage horaire : le BURN_POSITION du hook a libéré un crédit réel positif en USDC, mais comme TAKE_PAIR compense sur l'ensemble de l'unlock ouvert, le crédit a été absorbé par la dette fantôme de l'attaquant et le hook a reçu bien moins que prévu. L'attaquant a ensuite brûlé sa position désormais sans dette et a retiré 114 999,999186 USDC directement du PoolManager, pour un gain net d'environ 114 428 USDC après conversion en USDT. Le contrat de hook vulnérable était 0x4519e2b040ff1B64fa03aBe2AeF0BC99D7CcEaA8.

Conséquences

GoldPesa n'a pas publié dans l'immédiat d'analyse post-mortem, et aucune récupération, restitution white-hat ou prime n'avait été annoncée à l'heure où ces lignes sont écrites. L'USDC volé a été converti on-chain et les fonds sont restés entre les mains de l'attaquant. La perte s'est limitée à la liquidité détenue par le protocole de GoldPesa ; les contrats centraux d'Uniswap v4 ont fonctionné comme prévu.

Pourquoi c'est important

GoldPesa rappelle une fois de plus que les hooks Uniswap v4 déplacent le risque comptable vers l'auteur du hook, et non vers le protocole central — la même leçon que le siphonnage par arrondi de Bunni, où le raisonnement inversé d'un développeur sur un calcul de liquidité natif de v4 a permis à un attaquant de retirer plus qu'il ne brûlait. Ici, la faute a été de ne pas isoler les deltas au sein d'un unlock partagé du PoolManager, si bien qu'une dette fantôme forgée sur mesure a pu annuler un retrait légitime. L'incident prolonge en outre une série d'épisodes de début octobre 2026 sur Base, aux côtés du siphonnage du module Safe de FlashLoopAdapter et de l'exploit de whitelist du vault wstETH sur Base — un ensemble qui souligne à quelle vitesse la plomberie DeFi composable de la chaîne est sondée à la recherche de failles comptables et d'autorisation.

Sources & preuves on-chain

  1. [01]cryptotimes.iohttps://www.cryptotimes.io/2026/10/03/goldpesas-gpxhooks-allegedly-drained-for-114k-in-base-exploit/
  2. [02]coinfomania.comhttps://coinfomania.com/goldpesatoken-hit-by-114-9k-exploit-loss-as-flaws-revealed/
  3. [03]github.comhttps://github.com/SunWeb3Sec/DeFiHackLabs/pull/1288
Transactions
  • 0x5c1febd5047c2a15c37988b6abd5c8b984236dddf6fd24eed96b0f43951ad2c9

Dépôts liés