← К новостям
уязвимость XRP Ledger

В XRP Ledger закрыли десятилетнюю ошибку, позволявшую создавать XRP на миллиарды долларов

В XRP Ledger закрыли старую уязвимость, позволявшую создавать XRP на миллиарды долларов. Атаку воспроизвели в тестах, следов эксплуатации не нашли.

В XRP Ledger исправили критическую уязвимость, которая позволяла создавать новые XRP вопреки ограничению эмиссии. По оценке разработчиков, ошибка могла существовать с 2015 года. Инженеры RippleX воспроизвели её в изолированной среде и подтвердили, что полученные XRP можно потратить, но следов эксплуатации в публичных сетях не обнаружили.

Подробности раскрыли 9 октября 2026 года в техническом отчёте XRP Ledger. Исправление вышло раньше — 25 сентября, в экстренном обновлении серверного ПО xrpld 3.4.1. Исследователь Cayden Liao и Veria AI сообщили о проблеме через программу поиска уязвимостей 22 сентября.

При запуске XRP Ledger в 2012 году были созданы все 100 млрд XRP. Дополнительная эмиссия не предусмотрена. Найденная ошибка позволяла нарушить именно это правило: на счетах появлялись XRP, которые не списывались с других участников.

Проблема находилась в платёжном механизме, обрабатывающем обмен через книгу заявок. Это основа торговли на встроенной бирже XRP Ledger: участники размещают предложения обмена, а программа рассчитывает, сколько активов нужно передать каждой стороне.

При суммировании определённых значений происходило переполнение 64-битного целого числа. Слишком большая сумма превращалась в маленькое число вместо того, чтобы вызвать ошибку. В результате владельцам предложений начислялись полные суммы XRP, а с покупателя списывалось значительно меньше. Разница становилась новыми монетами.

Самое неприятное — дополнительная защита тоже пропускала такую операцию. Проверка, которая должна следить за отсутствием новых XRP, использовала аналогичный счётчик и переполнялась тем же способом. А ограничение баланса одного счёта не срабатывало, поскольку начисления распределялись между множеством адресов.

Обычный перевод или сделка случайно вызвать эту ошибку не могли. Для неё требовался специально подготовленный набор обменных предложений с неестественными ценами. При этом крупный стартовый капитал не был нужен: первоначальные затраты составляли несколько сотен XRP на резервы счетов и предложений плюс комиссии. Большую часть резервов можно было вернуть после удаления соответствующих объектов.

Поэтому «создание XRP из ничего» описывает нарушение эмиссии, а не полное отсутствие расходов. И миллиарды долларов в заголовке — потенциальный масштаб угрозы, а не установленный ущерб. Разработчики не сообщили об обнаружении такого выпуска XRP в публичных сетях.

В xrpld 3.4.1 добавили проверки переполнения при расчёте платежей, а защитный подсчёт сделали с более широким числовым диапазоном. Исправление начинало действовать сразу после обновления сервера.

Для изменения обработки транзакций это необычный путь. Обычно новые правила XRPL проходят голосование валидаторов и двухнедельный период устойчивой поддержки. В данном случае разработчики и представители сообщества сочли ожидание слишком опасным: опубликованный код исправления раскрывал бы уязвимость задолго до её закрытия.

Ускоренный переход тоже создавал риск: старые и обновлённые узлы могли по-разному оценить попытку эксплуатации. Однако уже в день выпуска более 80% валидаторов из основного рекомендованного списка использовали xrpld 3.4.1 или новее.

В том же релизе закрыли отдельную ошибку проверки пакетных транзакций Batch. Она угрожала согласованности работы узлов, но не создавала новые XRP. Её исправление активировали через обычный механизм поправок 9 октября.

Операторам серверов необходимо использовать xrpld 3.4.1 или более новую версию: после активации поправки устаревшие узлы не могут поддерживать синхронизацию с сетью. Это требование относится к серверному ПО, а не к необходимости владельцев XRP переводить монеты на другой кошелёк.