В XRP Ledger закрыли уязвимость, позволявшую выпустить 18 трлн XRP
Разработчики XRPL устранили критическую ошибку, которая почти десять лет позволяла обходить правила эмиссии XRP. Уязвимость могла привести к выпуску около 18 трлн монет.
Ошибка находилась в коде платежного механизма XRP Ledger с 2015 года. Ее обнаружили специалисты Veria Labs с помощью ИИ-агента, который также создал рабочий эксплойт. По оценке сооснователя компании Кейдена Ляо, уязвимость ставила под угрозу до $94 млрд и позволяла выпустить примерно 18 трлн XRP — примерно в 180 раз больше общего предложения в 99,986 млрд монет. Эта цифра учитывает сжигание комиссий. Разработчики подтвердили, что в истории сети не было случаев создания дополнительных монет.
Причиной стало целочисленное переполнение при обработке транзакции, исполнявшей множество ордеров из книги заявок. Атакующему понадобились бы несколько сотен аккаунтов и лишь несколько сотен XRP на резервы и комиссии. Защитный механизм не замечал нарушение, поскольку использовал ту же арифметику.
RippleX воспроизвела атаку локально и подтвердила, что созданные монеты можно тратить. Следов эксплуатации в публичных сетях не нашли. Veria Labs сообщила об ошибке 22 сентября, а 25 сентября вышел xrpld 3.4.1. Исправление впервые за более чем десять лет активировали без голосования валидаторов. В день релиза новую версию установили более 80% валидаторов из списка по умолчанию. Ripple выплатила исследователям максимальную награду — $250 000.
Обновление также устранило ошибку функции Batch, которая объединяет до восьми транзакций. Она могла повредить структуру реестра, однако в основной сети функция еще не работала. Поправка fixBatchV1_2 вступила в силу 9 октября после стандартного голосования. XRPL планирует повторно тестировать исправления перед релизами, расширить поиск багов с помощью ИИ и применять формальную верификацию кода.





