Los desarrolladores de XRP Ledger revelaron el 9 de octubre que un error de desbordamiento de enteros en el motor de pagos de la red podría haber permitido a un atacante crear XRP nuevo de la nada, rompiendo el límite de suministro de 100 mil millones de tokens establecido cuando el ledger se lanzó en 2012. La falla fue parcheada en la versión de software xrpld 3.4.1 el 25, de septiembre, y RippleX dijo que no encontró evidencia de que el error haya sido explotado en una red pública, según el informe oficial de divulgación de vulnerabilidades.
El error fue reportado a través del programa de recompensas por errores de XRPL por el investigador Cayden Liao y Veria AI el 22. de septiembre. Los ingenieros de RippleX reprodujeron el ataque en un servidor independiente, confirmaron que el XRP recién creado podía gastarse en una transacción de seguimiento y elevaron la gravedad del hallazgo de mayor a crítica.
Cómo el error podría haber acuñado XRP
La vulnerabilidad se encontraba en el manejo de desbordamiento del motor de pagos. Cuando un solo pago consumía muchas ofertas en el intercambio integrado del ledger, el software sumaba lo que el comprador debía usando una suma de enteros de 64 bits sin verificación de desbordamiento. Unos cientos de ofertas, cada una pidiendo una cantidad muy grande de XRP, podían empujar ese total más allá de lo que un número de 64 bits puede contener, envolviéndolo a un valor diminuto. Luego, a cada propietario de la oferta se le pagaba por completo mientras que al comprador solo se le cobraba el total envuelto, dejando XRP recién acuñado en las cuentas del atacante.
Dos verificaciones de seguridad deberían haber detectado esto y no lo hicieron. El invariante del ledger de «no se crea XRP» suma los cambios de saldo neto de la misma manera, por lo que se envolvió de manera idéntica y no vio nada malo. Una verificación de saldo por cuenta solo falla cuando una sola cuenta tiene más que el suministro total, lo cual el ataque evitó al distribuir el XRP acuñado entre cientos de cuentas.
Por qué la corrección omitió el proceso de enmienda
Los cambios en cómo el XRP Ledger procesa las transacciones normalmente se envían a través de un proceso de enmienda, en el que una nueva regla permanece inactiva hasta que más del 80 por ciento de los validadores de confianza la apoyen durante dos semanas. RippleX omitió deliberadamente ese proceso por primera vez desde que se introdujo hace más de diez años, porque el exploit era barato, no requería acceso especial y podría haber acuñado XRP gastable. Dado que xrpld es de código abierto, una corrección publicada a través de la ruta normal habría permanecido visible pero aún explotable en la red principal durante semanas.
El atajo conllevaba su propio riesgo de una detención de la red con versiones mixtas, pero las transacciones normales nunca alcanzan la ruta de código vulnerable. Más del 80 por ciento de los validadores UNL predeterminados estaban ejecutando 3.4.1 el día de su lanzamiento, antes de que se publicara el código fuente.
Qué significa para el suministro fijo de XRP
El episodio subraya cuánto de la propuesta de valor de XRP depende de que su suministro sea demostrablemente finito. Los 100 mil millones de tokens se crearon en el lanzamiento, y las instituciones que construyen sobre el ledger tratan ese límite como una garantía. El error había estado presente desde que se escribió el motor de pagos actual en 2015, sin embargo, RippleX no encontró evidencia de que haya sido explotado.
La misma versión también corrigió una falla separada de validación del contenedor de transacciones Batch, que se activó en la red principal el 9. de octubre. RippleX dijo que está agregando un paso de reverificación a su proceso de lanzamiento para que cada hallazgo de seguridad marcado como corregido se vuelva a probar contra el candidato de lanzamiento. La divulgación llega mientras el XRP Ledger continúa agregando características institucionales, incluyendo delegación de permisos para bancos y monedas estables, mientras que la dinámica de suministro y depósito en garantía de XRP sigue siendo un foco de atención para los titulares.