Notional Finance pierde USD $1,73 millones por un error de conversión en uint128
0
0

Un atacante aprovechó una conversión insegura de deuda en Notional Finance V1 para eludir las comprobaciones de colateral y retirar aproximadamente USD $1,73 millones en DAI y USDC. Luego convirtió los fondos en cerca de 689 ETH y los depositó en Tornado Cash, mientras el protocolo aún no ofrecía una explicación pública.
***
- Un defecto en la conversión a uint128 hizo que una deuda fabricada de enorme magnitud se registrara como cero.
- El atacante retiró 69.257 DAI y 1.658.524 USDC del escrow heredado de Notional V1.
- Los fondos fueron convertidos en aproximadamente 689 ETH y enviados posteriormente a Tornado Cash.
Notional Finance sufrió un exploit por aproximadamente USD $1,73 millones durante la madrugada del viernes 4 de septiembre de 2026, después de que un atacante aprovechara un defecto de código en un contrato de escrow heredado de su primera versión. La operación permitió eludir las comprobaciones de colateral mediante una deuda fabricada de magnitud extraordinaria que el sistema terminó registrando como cero. El incidente afectó fondos denominados en DAI y USDC, que más tarde fueron convertidos en cerca de 689 ETH.
Los registros de Etherscan indican que el atacante preparó la operación a las 11:58 p. m. UTC del jueves y ejecutó el retiro tres minutos después. En esa segunda transacción, la cuenta sacó 69.257 DAI y 1.658.524 USDC del escrow de Notional V1, además de pagar 0,07 ETH al constructor de bloques Titan para enrutar la operación de forma privada. El contrato todavía conservaría tokens por unos USD $60.600, según la información disponible tras el ataque.
Una deuda enorme que terminó convertida en cero
Notional Finance opera como un protocolo de préstamos a tasa fija sobre Ethereum, y su primera versión utilizaba tokens llamados fCash para representar obligaciones futuras de efectivo. Antes de permitir que una cuenta añadiera deuda, el sistema debía comprobar si contaba con suficiente colateral para respaldar la posición. Esa validación transformaba la deuda a términos de ETH mediante una conversión numérica que, en este caso, no protegía adecuadamente el resultado.
El análisis atribuido a QuillAudits señala que el atacante realizó dos llamadas a la función mintfCashPair() para crear una obligación equivalente a menos 2 elevado a la potencia de 128. Al sumar las dos emisiones, el valor alcanzó exactamente 2 elevado a la potencia de 128, un punto crítico para una conversión hacia uint128. La operación no representaba una deuda legítima, sino una construcción diseñada para explotar el comportamiento del tipo de dato.
La vulnerabilidad apareció porque el contrato utilizó un downcast directo, o conversión raw, hacia uint128 durante la valoración del colateral libre. Cuando un número excede el rango que ese tipo puede representar, una conversión sin comprobación puede descartar los bits superiores y conservar únicamente una parte del valor. En este caso excepcional, el resultado se volvió cero y la cuenta pareció no tener deuda frente a la lógica encargada de autorizar el retiro.
Una conversión checked habría rechazado la cifra y revertido la transacción en lugar de eliminar silenciosamente la información relevante. El informe citado también indica que Notional empleaba un método más seguro en otras partes del mismo archivo, lo que apunta a una inconsistencia puntual dentro de la implementación. Esa diferencia permitió que una protección presente en otros segmentos no cubriera la ruta específica utilizada por el atacante.
El recorrido de los fondos robados
La secuencia observada en la cadena comenzó con la preparación de las posiciones artificiales y continuó con el retiro de los activos estables desde el escrow. La cuenta extrajo 69.257 DAI y 1.658.524 USDC, dos tokens cuyo valor combinado se aproximaba a USD $1,73 millones al momento del incidente. El drenaje se produjo desde una estructura heredada de V1, aunque los contratos ya no constituían el foco principal de desarrollo del protocolo.
Después de obtener los fondos, el explotador intercambió los activos por aproximadamente 689,2 ETH, de acuerdo con las alertas de seguridad citadas en el reporte. El cambio concentró el valor en un solo activo y facilitó el siguiente movimiento, porque el atacante ya no necesitaba administrar saldos separados de DAI y USDC. La conversión también hizo más visible la ruta de los fondos en los rastreadores de transacciones de Ethereum.
Posteriormente, los ETH fueron depositados en Tornado Cash, un servicio diseñado para romper el vínculo observable entre las carteras de origen y destino. Ese paso complica el seguimiento público del dinero y suele dificultar la recuperación cuando no existe una cooperación voluntaria del atacante. PeckShield difundió una advertencia basada en el monitor en cadena Specter, que reportó la pérdida de DAI y USDC y el posterior movimiento hacia el mezclador.
CertiK Alert describió el incidente como un exploit cercano a USD $1,7 millones y explicó que dos llamadas a mintfCashPair() habían creado una obligación de menos 2 elevado a la potencia de 128. Según esa alerta, el downcast inseguro hacia uint128 durante la valoración del colateral truncó la obligación hasta convertirla en cero. Notional Finance no había publicado una respuesta oficial, una cifra propia de pérdidas ni un análisis post-mortem al momento de la publicación.
El riesgo de los contratos heredados
El incidente vuelve a poner atención sobre los contratos antiguos que continúan activos y conservan fondos, incluso cuando un protocolo ha trasladado su actividad hacia nuevas versiones. Notional había anunciado el cierre de su tercera versión después de que el exploit de Balancer de noviembre de 2025 se propagara en cascada hacia sus bóvedas, pero los contratos V1 permanecieron operativos y con activos que nadie había retirado completamente. La antigüedad de una implementación no elimina su exposición si todavía puede recibir llamadas y custodiar dinero.
Una auditoría previa tampoco garantiza que un contrato permanezca seguro frente a todas las combinaciones de entradas posibles, especialmente cuando queda expuesto durante años a nuevos patrones de ataque. El material de origen recuerda que los protocolos auditados de manera independiente todavía concentran la mayoría de las pérdidas asociadas con hackeos de criptomonedas. En este caso, el problema no surgió necesariamente de una función nueva, sino de una ruta heredada que seguía conectada a fondos reales.
El caso tiene un antecedente cercano en el ecosistema de Solana, donde un atacante drenó pools heredados de Raydium durante junio. Aunque las implementaciones y las redes son diferentes, ambos episodios comparten un elemento operativo: fondos que permanecen en infraestructuras antiguas pueden convertirse en objetivos atractivos cuando las revisiones y la supervisión se concentran en los productos actuales. La gestión de contratos retirados exige desactivarlos correctamente o retirar los activos antes de abandonar su mantenimiento.
La información disponible no confirma si el efectivo drenado pertenecía directamente a usuarios, a la tesorería de Notional o a un tercero que utilizaba el escrow. Esa distinción será relevante para determinar el alcance económico y las eventuales responsabilidades, pero solo podrá establecerse mediante una revisión interna del contrato y de los saldos afectados. Mientras tanto, el token NOTE cotizaba cerca de USD $0,0065, con una subida de 3,5% en 24 horas y una capitalización aproximada de USD $400.700.
El ataque muestra cómo un error aparentemente acotado en la representación de números puede invalidar una comprobación financiera completa. La combinación de una deuda artificial, un truncamiento silencioso y fondos que permanecían en un escrow antiguo permitió que una cuenta insolvente pareciera apta para retirar activos de valor considerable.
Imagen original de DiarioBitcoin, creada con inteligencia artificial, de uso libre, licenciada bajo Dominio Público.
Este artículo fue escrito por un redactor de contenido de IA y revisado por un editor humano para garantizar calidad y precisión.
0
0
開始に使用しているポートフォリオを安全に接続します。







