Le programme de primes aux bugs récemment lancé par Uniswap a conduit à la découverte d'une vulnérabilité, désormais corrigée, dans le smart contract Universal Router du protocole.

En effet, en novembre 2022, le teneur de marché automatisé a publié deux nouveaux smart contracts sur sa plateforme. Le premier, baptisé Permit2, permet de partager et de gérer les approbations de tokens entre différentes applications, tandis que le deuxième, baptisé Universal Router, unifie l'échange de tokens ERC-20 et non fongibles (NFT) en un seul routeur d'échange.

Uniswap a également annoncé un programme intéressant de primes aux bugs pour identifier les éventuelles vulnérabilités de ses smart contracts vers la fin de l'année 2022, dans le but de garantir la sécurité et l'efficacité de son protocole.

Ainsi, la société de sécurité et d'audit de smart contracts, Dedaub, a annoncé qu'elle avait reçu une prime de bogue après avoir signalé une vulnérabilité qu'elle a découverte dans le smart contract Universal Router, laquelle aurait pu permettre aux attaques par réentrée de vider les fonds des utilisateurs en pleine transaction.

L'équipe Dedaub a révélé une vulnérabilité critique à l'équipe Uniswap ! Les fonds sont en sécurité - Uniswap a réglé le problème et redéployé les smart contracts Universal Router sur toutes ses chaînes. La vulnérabilité permet aux attaques par ré-entrée de vider les fonds de l'utilisateur en pleinte transaction. pic.twitter.com/wFSFsohPvy - Dedaub (@dedaub) 2 janvier 2023

Selon les informations fournies par Dedaub, le routeur universel permet aux utilisateurs d'effectuer diverses opérations, comme par exemple l'échange de plusieurs tokens et NFT en une seule transaction.

En effet, le routeur intègre un langage de script pour exécuter une grande variété de transactions portant sur des tokens, qui pourraient inclure des transferts vers des bénéficiaires tiers. S'ils sont correctement mis en œuvre, les transferts vont au destinataire selon les paramètres spécifiés.

À lire également : Immunefi affirme avoir versé 66 millions de dollars en primes de bug depuis sa création

Cependant, Dedaub a identifié une vulnérabilité dans laquelle un code tiers était déclencé pendant le transfert, ce qui permet au code de rentrer dans l'Universal Router et de récupérer tous les tokens qui étaient dans le smart contract de manière temporaire.

Dedaub a alors proposé une solution très simple, en conseillant à l'équipe d'Uniswap d'ajouter un verrou de réentrance à l'exécution du noyau du nouveau routeur. Uniswap a offert à la société d'audit un total de 40 000 dollars pour avoir détecté et signalé la vulnérabilité. Ce montant comprenait un bonus de 33 % au titre du signalement du problème pendant la période de bonus d'Uniswap en novembre 2022.

Uniswap a classé le problème comme étant de gravité moyenne, tandis qu'une évaluation plus poussée a estimé que la vulnérabilité avait un impact élevé et une faible probabilité. Selon Dedaub, la possibilité qu'un utilisateur envoie directement des NFT à un destinataire non approuvé a été considérée comme une erreur de la part de l'utilisateur.

Des scénarios plus complexes et moins probables ont été considérés comme pouvant entraîner une réentrance, ce qui a conduit Uniswap à considérer que la vulnérabilité avait une faible probabilité d'occurence. Cointelegraph a contacté Uniswap pour obtenir plus de détails sur son programme de primes, sur les montants versés et sur le nombre de bogues que le programme a permis d'identifier à ce jour.

Si les primes de bug sont devenues monnaie courante dans les secteurs des cryptomonnaies et de la blockchain, c'est parce que de plus en plus de plateformes et d'entreprises cherchent à garantir la sécurité de leurs logiciels, de leurs systèmes et de leurs infrastructures.

On se rappelle que l'exchange crypto Coinbase a récemment clarifié les termes de son programme de bug bounty, tandis que la société de sécurité blockchain Immunefi, elle, a facilité le versement de plus de 65 millions de dollars de bug bounties entre des hackers éthiques et des entreprises Web3 en 2022.