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

  • Об ошибке 22 сентября сообщил ИИ-агент Veria Labs; три дня спустя её исправили в экстренном релизе xrpld 3.4.1, минуя обычное голосование по поправкам.

  • Разработчики не обнаружили признаков эксплуатации уязвимости ни в одной общедоступной сети; Veria получила максимальное вознаграждение в размере 250 000 долларов.

9 октября разработчики XRP Ledger сообщили, что переполнение целого числа в механизме обработки платежей сети, присутствовавшее с момента написания кода в 2015 году, могло позволить злоумышленнику создавать и тратить новые XRP в обход правил реестра об ограниченном объёме выпуска. Об этом говорится в официальном отчёте о раскрытии уязвимости.

Уязвимость влияла на то, как движок суммировал суммы в XRP, когда один платёж исполнял множество предложений в книге ордеров. Балансы хранятся в виде 64-битных целых чисел с фиксированным максимальным значением. Если сумма превышала этот предел, происходило переполнение: вместо ошибки получалось небольшое число. Затем движок полностью выплачивал средства владельцам каждого предложения, взимая с покупателя только переполненную сумму. Разница при этом выпускалась в виде новых XRP, которые можно было потратить, говорится в отчёте.

Согласно сообщению об уязвимости, атаку «нельзя было запустить случайно»: для этого требовались «сотни предложений с ценами, которые не использовал бы ни один реальный трейдер, а затем платёж, специально созданный для их одновременного исполнения». Инженеры RippleX воспроизвели эксплойт на автономном сервере в тот же день, когда о нём сообщили, подтвердили, что созданные XRP можно потратить в следующем платеже, и повысили уровень серьёзности уязвимости с высокого до критического.

Компания по кибербезопасности Veria Labs сообщила, что её ИИ-агент обнаружил цепочку уязвимостей и создал работоспособный эксплойт для подтверждения концепции. Сооснователь компании Кейден Ляо написал в X, что одна транзакция с эксплойтом могла создать около 18 триллионов XRP — в 184 раза больше первоначального предложения в 100 миллиардов токенов. По словам Ляо, Veria получила максимальное вознаграждение по программе — 250 000 долларов. В записи в блоге компании он назвал эту выплату крупнейшим известным вознаграждением за уязвимость, целиком обнаруженную ИИ-агентом.

Исправление вошло в версию xrpld 3.4.1, выпущенную 25 сентября, через три дня после отчёта от 22 сентября. В тот день обновлённое ПО работало более чем на 80% валидаторов списка уникальных узлов по умолчанию. Впервые более чем за десятилетие разработчики пропустили обычное двухнедельное голосование по внесению изменений, для одобрения которых требуется поддержка более 80%. Как объяснил фонд XRP Ledger, публикация исходного кода до активации оставила бы уязвимость открытой и доступной для эксплуатации ещё на несколько недель.

Фонд подчеркнул, что новых XRP создано не было. «Предложение XRP было зафиксировано на уровне 100 миллиардов при запуске XRP Ledger, и ни одна транзакция не может создать дополнительные токены. Эта ошибка позволяла обойти это правило, а версия 3.4.1 её исправила», — написал @XRPLF. В обращении остаётся около 99,986 миллиарда XRP, поскольку комиссии сжигаются. В том же обновлении также была устранена отдельная проблема с проверкой обёртки пакетной транзакции, которая активировалась в рамках обычной процедуры внесения изменений 9 октября.

Этот случай подчёркивает как растущую роль ИИ в поиске уязвимостей, так и сложности устранения проблем в работающих децентрализованных сетях без создания новых возможностей для атак. Разработчики сообщили, что в ответ усиливают формальную верификацию, состязательное тестирование с помощью ИИ и программы вознаграждений за обнаружение уязвимостей.

Публикация «XRP Ledger исправил ошибку десятилетней давности, которая могла привести к созданию триллионов токенов» впервые появилась на Cryptopress.