Bug de precio cero en marketplace de TreasureDAO
~$1,4M en NFTs robados del marketplace de TreasureDAO tras que la función buy no comprobara que la cantidad produjera un precio distinto de cero.
- Fecha
- Víctima
- TreasureDAO
- Cadena(s)
- Estado
- Parcialmente recuperado
El 3 de marzo de 2022, el ecosistema NFT de Arbitrum TreasureDAO tuvo su marketplace explotado — aproximadamente 100+ NFTs (~$1,4M) comprados por efectivamente cero MAGIC. La función de compra del marketplace no validaba que el precio total calculado fuera distinto de cero para una cantidad dada, por lo que un atacante podía comprar los NFTs listados sin pagar nada.
Qué ocurrió
El buyItem del marketplace de TreasureDAO computaba totalPrice = pricePerItem * quantity. Al enviar una cantidad de cero (o un valor que hacía que el precio total redondeara/calculara a cero) mientras aún disparaba la transferencia del NFT, el atacante recibía los NFTs listados sin transferir MAGIC. Cientos de NFTs fueron drenados de listados activos antes de que el marketplace fuera pausado.
Consecuencias
- TreasureDAO pausó el marketplace y trabajó con la comunidad en un plan de restitución.
- Varios NFTs fueron devueltos por white-hats y recuperados; siguió una restitución parcial.
Por qué importa
TreasureDAO es un caso limpio de validación de entrada — una función que realiza una transferencia de activo debe validar que cada parámetro económicamente significativo está en un rango sensato, incluyendo los casos degenerados (cantidad cero, precio cero) que ningún usuario legítimo enviaría jamás. La misma lección de "valida el caso degenerado" aparece en MonoX (intercambiar un token por sí mismo) y a lo largo del catálogo. Los marketplaces NFT son una instancia recurrente porque su matemática de precios (precio × cantidad, royalties, divisiones de comisiones) tiene más casos límite aritméticos que una simple transferencia, y los casos límite son exactamente donde el valor se escapa.
Fuentes y evidencia on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-treasure-dao-hack-march-2022
- [02]cryptopotato.comhttps://cryptopotato.com/hackes-exploit-arbitrum-based-marketplace-treasure-over-100-nfts-stolen/
- [03]rekt.newshttps://rekt.news/treasure-dao-rekt