Puntos clave de la noticia:
- SlowMist rastreó el exploit de Liquid hasta una colisión de caché en range proofs que permitió crear aproximadamente 3,998.5 L-BTC sin respaldo de Bitcoin.
- Dos transacciones prepararon las cachés de los nodos y una tercera reutilizó una clave colisionada para eludir verificaciones criptográficas antes del canje por BTC.
- Cerca de 3,400 BTC fueron devueltos, mientras 598.5 BTC seguían con el atacante y las operaciones de peg permanecían suspendidas durante la recuperación.
SlowMist rastreó el incidente de Liquid Network del 6 de septiembre hasta una falla en la capa de consenso que permitió poner en circulación aproximadamente 3,998.5 L-BTC sin respaldo, sin que existiera un peg-in equivalente de Bitcoin. La firma de seguridad reconstruyó la ruta de las transacciones y detectó una colisión en la caché de verificación de range proofs dentro del código de Elements, desarrollado por Blockstream. Lo más alarmante es que la red aceptó valor fabricado porque una optimización de rendimiento hizo que diferentes entradas de verificación compartieran la misma clave de caché. Minutos después, los L-BTC recién creados fueron consolidados y canjeados por Bitcoin real mediante el mecanismo federado de peg-out.
El exploit se apoyó en transacciones estructuradas y no en claves de firma robadas ni en una clave de autorización de peg-out comprometida. Dos transacciones iniciales colocaron range proofs y compromisos onchain mientras alimentaban las cachés de los nodos con datos manipulados. Una tercera transacción reutilizó después una clave de caché colisionada con límites de campos diferentes. Cuando los nodos detectaron el supuesto acierto en caché, omitieron la verificación criptográfica y los controles de valor mínimo, permitiendo que el compromiso falso pareciera válido. SlowMist explicó que el problema surgió porque campos de longitud variable se concatenaban sin prefijos de longitud, permitiendo que diferentes conjuntos de argumentos generaran el mismo hash.
El parche de Elements apunta directamente al mecanismo de colisión
La vulnerabilidad afectó a versiones de Elements anteriores a la 23.3.4, incluidas algunas publicadas después de un parche del 3 de agosto que añadió campos faltantes pero no protegió adecuadamente sus límites. La versión 23.3.4, lanzada el 8 de septiembre, incorporó prefijos de longitud y un interruptor de emergencia capaz de desactivar por completo la caché de range proofs. La corrección aborda exactamente el mecanismo de colisión que convirtió una optimización utilizada desde 2016 en una vulnerabilidad de consenso. La producción de bloques se reanudó mediante un reinicio controlado el 10 de septiembre, inicialmente sin transacciones de usuarios, mientras los miembros de la federación actualizaban nodos y continuaban vigilando la red.
Las consecuencias financieras siguen sin resolverse por completo. Alrededor de 3,400 BTC fueron devueltos a la billetera federada al día siguiente, pero 598.5 BTC continuaban bajo control del atacante cuando SlowMist publicó su análisis. El responsable siguió moviendo esos fondos e incluyendo mensajes en los que exigía una recompensa de 10%. La recuperación de Liquid depende ahora de restaurar las reservas mientras mantiene la promesa de respaldo 1:1 entre L-BTC y Bitcoin. Las operaciones de peg-in y peg-out siguen suspendidas, Blockstream rechazó la exigencia de recompensa y Adam Back afirmó que el respaldo será cubierto completamente.




