Una vulnerabilidad de cálculo permitió el robo de 8535 ETH de Truebit
El 8 de enero de 2026, el protocolo Truebit sufrió un ataque que resultó en la pérdida de 8,535.36 ETH (aproximadamente 26.44 millones de dólares). El equipo de seguridad ExVul analizó el incidente y determinó que el atacante aprovechó una vulnerabilidad de desbordamiento de enteros en la función de cálculo de precio de compra de tokens.
El atacante (dirección: 0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) realizó cuatro ciclos de transacciones llamando a las funciones getPurchasePrice, 0xa0296215 y 0xc471b10b. En la primera iteración, llamó a getPurchasePrice con un valor elevado (240442509453545333947284131), que devolvió 0 debido al desbordamiento. Luego, invocó 0xa0296215 sin enviar ETH pero acuñando la misma cantidad de tokens. Finalmente, quemó esos tokens mediante 0xc471b10b y recibió 5,105.06 ETH.
La vulnerabilidad se encontraba en la función 0x1446 (equivalente a getPurchasePrice), donde la suma de dos variables (v12 + v9) provocaba un desbordamiento que hacía que el resultado de la división fuera 0. Esto permitió al atacante comprar tokens gratuitamente y canjearlos por ETH.
El contrato, escrito en Solidity ^0.6.10, no incluía comprobaciones de seguridad contra desbordamientos. Se recomienda a los proyectos audit
marsbit01/13 07:39