Ошибка в коде 2015 года позволяла потенциальному злоумышленнику обойти жесткое ограничение на общее предложение $XRP, зафиксированное на уровне 100 млрд токенов, и выпустить бессчетное множество новых монет. Эти монеты затем можно было бы тратить как обычные. Разработчики связали уязвимость с ошибкой переполнения при обработке массовых сделок на встроенной децентрализованной бирже $XRP Ledger.
Как уязвимость работала в $XRP Ledger: когда система обрабатывала одну транзакцию, закрывавшую сразу несколько сотен заявок на продажу, она спрашивала, сколько $XRP списать с покупателя. Если сумма получалась слишком большой и выходила за рамки максимально допустимого значения, система сворачивала сумму в маленькое число. В итоге система платила продавцам столько, сколько те просили, а с покупателя брала лишь эту странную маленькую сумму плюс комиссию. А разница — большие деньги — как будто создавалась из воздуха и становилась новыми токенами $XRP, которых вообще не должно было появиться.
bits.media