Un desbordamiento de enteros en el motor de pagos de XRP Ledger, que llevaba una década allí, podría haber permitido que un atacante acuñara XRP gastables muy por encima del límite de oferta de 100.000 millones.
El error fue reportado el 22 de septiembre por el agente de IA de Veria Labs y corregido tres días después en una versión de emergencia, xrpld 3.4.1, que eludió la votación habitual sobre enmiendas.
Los desarrolladores no encontraron indicios de explotación en ninguna red pública; Veria recibió la recompensa máxima de 250.000 dólares.
Los desarrolladores de XRP Ledger revelaron el 9 de octubre que un desbordamiento de enteros en el motor de pagos de la red, presente desde que se escribió el código en 2015, podría haber permitido que un atacante creara y gastara nuevos XRP, infringiendo las reglas del libro mayor que fijan la oferta, según el informe oficial de divulgación de la vulnerabilidad.
La falla afectaba la forma en que el motor sumaba las cantidades de XRP cuando un único pago consumía muchas ofertas del libro de órdenes. Los saldos se almacenan como enteros de 64 bits con un máximo fijo; cuando el total superaba ese límite, daba la vuelta y se convertía en un número pequeño en lugar de generar un error. Luego, el motor pagaba íntegramente a cada propietario de una oferta y solo cobraba al comprador el total resultante de la vuelta, creando la diferencia como XRP nuevo y disponible para gastar, según el informe.
El ataque «no podía activarse por accidente» y requería «cientos de ofertas con precios que ningún operador real usaría, seguidas de un pago diseñado específicamente para consumirlas todas de una vez», según la divulgación. Ese mismo día, ingenieros de RippleX reprodujeron el exploit en un servidor independiente, confirmaron que el XRP creado podía gastarse en un pago posterior y elevaron la gravedad de importante a crítica.
La firma de seguridad Veria Labs afirmó que su agente de IA descubrió las vulnerabilidades encadenadas y creó una prueba de concepto funcional. El cofundador Cayden Liao escribió en X que una transacción de explotación podría haber creado unos 18 billones de XRP, es decir, 184 veces la emisión inicial de 100.000 millones de tokens. Veria recibió la recompensa máxima de 250.000 dólares del programa, que Liao describió como el mayor pago conocido por una vulnerabilidad detectada íntegramente por un agente de IA, según una publicación del blog de la firma.
La corrección se publicó en la versión 3.4.1 de xrpld el 25 de septiembre, tres días después del informe del 22 de septiembre. Ese día, más del 80 % de los validadores de la lista única de nodos predeterminada ejecutaban el software actualizado. Por primera vez en más de una década, los desarrolladores omitieron la votación de enmienda habitual de dos semanas, que requiere más del 80 % de apoyo, porque publicar el código fuente antes de la activación habría dejado la falla expuesta y explotable durante semanas, explicó la Fundación XRP Ledger.
La fundación recalcó que no se creó XRP nuevo. «La cantidad de XRP se fijó en 100.000 millones cuando se lanzó XRP Ledger, y ninguna transacción puede crear más. Este error permitía eludir esa regla, y la versión 3.4.1 lo corrigió», publicó @XRPLF. Quedan en circulación unos 99.986 millones de XRP, ya que se queman como comisiones. La misma versión también abordó un problema independiente de validación del envoltorio de transacciones Batch, que se activó mediante una enmienda normal el 9 de octubre.
El episodio pone de relieve tanto el creciente papel de la IA en la detección de vulnerabilidades como los desafíos operativos de aplicar parches a redes descentralizadas en funcionamiento sin abrir nuevas ventanas de ataque. Los desarrolladores dijeron que están reforzando la verificación formal, las pruebas adversariales con IA y los incentivos de recompensas.
