Saltar al contenido
Est. MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archivo de incidentes de seguridad en criptomonedas — hackeos, exploits, fallos de puentes y rug pulls, documentados con evidencia on-chain.

Expediente № 220Fallo de smart contract

Redondeo de precisión en zkLend

$9,5M drenados de zkLend en Starknet vía un bug de redondeo de precisión en su librería safeMath; el redondeo repetido infló raw_balance hasta vaciar los pools.

Fecha
Víctima
zkLend
Cadena(s)
Estado
Fondos robados

El 12 de febrero de 2025, el protocolo de préstamos basado en Starknet zkLend fue drenado por aproximadamente $9,5 millones mediante un bug de precisión/redondeo en su librería safeMath. El atacante iteró un pequeño sesgo de redondeo hasta que se compuso en un saldo completamente sintético lo bastante grande como para drenar cada pool. zkLend nunca se recuperó y cerró operaciones en junio de 2025.

Qué ocurrió

El lenguaje Cairo de Starknet no expresa nativamente aritmética de punto flotante; los protocolos implementan sus propias librerías de matemática de punto fijo. La safeMath de zkLend realizaba división directa que redondeaba hacia abajo en cada operación. Usado una vez, la pérdida por redondeo es invisible. Repetido miles de veces contra el patrón correcto de actualización de estado, se volvió componible en un exploit utilizable.

El ataque iteró un cálculo que tocaba un campo raw_balance usado internamente para contabilidad. El redondeo de cada iteración causaba que el campo derivara hacia arriba en incrementos diminutos. Tras suficientes iteraciones, el raw_balance del atacante había sido inflado artificialmente a 1724 — muy por encima de cualquier depósito legítimo.

La función de redención luego convertía el raw_balance inflado en una reclamación de retiro contra los pools de zkLend. Cada pool fue drenado por la redención.

Consecuencias

  • zkLend ofreció al atacante una recompensa del 10% y liberación de responsabilidad si los 3.300 ETH restantes eran devueltos en 48 horas. El plazo pasó.
  • El atacante puenteó los fondos robados a Ethereum e intentó blanquearlos a través de Railgun — las políticas de protocolo de Railgun devolvieron automáticamente los fondos a la dirección originadora, atrapando brevemente al atacante. Finalmente movieron los fondos a través de Tornado Cash y otras rutas.
  • zkLend nunca reabrió las operaciones de préstamo. El protocolo cerró formalmente en junio de 2025, cuatro meses después del exploit.

Por qué importa

zkLend reforzó dos lecciones que recurren en la historia de exploits DeFi:

  1. Las librerías de matemática de punto fijo escritas desde cero para nuevas VMs son una superficie de vulnerabilidad de frontera. La misma clase de bug apareció en Cetus en Sui más tarde en 2025, y en KyberSwap en EVM en 2023. Las nuevas cadenas tienden a lanzar nuevas librerías matemáticas que no han sido endurecidas contra la superficie de ataque completa de sus predecesoras EVM.

  2. Un solo exploit de tamaño medio puede ser terminal para un protocolo. Donde los protocolos más grandes absorben pérdidas de $10-20M mediante reembolsos mediados por gobernanza y siguen operando, los protocolos de tamaño medio a menudo no pueden. El coste de un solo bug no es solo la pérdida — es la continua existencia del protocolo.

Fuentes y evidencia on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-zklend-hack-february-2025
  2. [02]decrypt.cohttps://decrypt.co/305590/defi-lending-platform-zklend-9-million-exploit
  3. [03]thedefiant.iohttps://thedefiant.io/news/defi/starknet-based-zklend-shuts-down-amid-fallout-from-usd10-million-exploit

Registros relacionados