XRP Ledger исправляет уязвимость 2015 года
XRP Ledger тихо исправил ошибку в платежном движке 2015 года, которая могла позволить злоумышленнику создать расходуемый XRP сверх фиксированного объема сети всего за несколько сотен XRP в резерве. Проблема заключалась в коде, обрабатывающем платежи через встроенную децентрализованную биржу (DEX) XRP Ledger.
Согласно официальному отчету о раскрытии уязвимости, опубликованному вчера, когда один платеж использовал множество предложений, движок суммировал суммы, используя непроверяемую 64-битную арифметику.
Увеличив эту сумму достаточно высоко, она «обернулась», что происходит при переполнении целого числа. Огромное число затем стало маленьким, и продавцы с другой стороны сделки получили полную оплату, но покупатель был обременен лишь обернутой, крошечной суммой. Разница составила XRP, который никогда не существовал ранее.
Проблема с проверкой безопасности
Ledger действительно проводит проверку безопасности, известную как инвариант, которая должна подтверждать, что XRP никогда не создается. Эта проверка использовала ту же непроверяемую математику, поэтому она была слепа к точному сбою, который должна была поймать.
Отчет прослеживает ошибку до текущего платежного движка, написанного в 2015 году. В отчете говорится, что стоимость составила несколько сотен XRP, заблокированных в резерве, которые возвращаются после удаления объектов, плюс обычные транзакционные сборы.
Критическая уязвимость и ее последствия
Злоумышленнику нужно было разместить сотни намеренно неправильно оцененных предложений и затем провести один платеж через них. Опасная часть заключалась в том, что RippleX назвал баг критическим, поскольку расходуемый XRP мог быть создан сверх общего объема в одной подтвержденной транзакции.
Вся концепция XRP основана на жестком лимите в 100 миллиардов токенов, поэтому тихое создание ударило бы по основному обещанию актива. Вот почему такие посты, как один от Whale Insider, охарактеризовали это как баг, который мог бы вызвать «миллиарды» XRP.
Исправление и дальнейшие шаги
Хронология была довольно краткой: исправление не прошло через обычное голосование по поправкам, а было отправлено как прямое изменение кода в версии 3.4.1 и вступило в силу по мере обновления каждого сервера. Исходный код был опубликован только после развертывания, что является стандартным шагом, чтобы избежать передачи злоумышленникам информации о системе.
С тех пор аккаунт XRPL Operations сделал 3.4.1 минимально необходимой версией, добавив: «Мы не нашли доказательств того, что эта проблема была использована в какой-либо публичной сети.»
Второй, менее серьезный баг был исправлен в том же релизе. Он касался того, как обрабатываются пакетные транзакции, и его исправление находится за поправкой fixBatchV1_2, которая была запущена в Mainnet 9 октября вместе с BatchV1_1. В отчете также говорится, что из-за этого бага не было потеряно средств.
Общая ситуация в криптовалютной безопасности
Раскрытие произошло в неприятную неделю для безопасности криптовалют, так как потери устройств Ledger, о которых сообщало Bitcoin.com News, достигли примерно 93,4 миллиона долларов.
Наконец, поддерживаемая Ripple компания Evernorth готовится начать торговлю на Nasdaq под символом XRPN в понедельник, с примерно 473 миллиона XRP на своих счетах. XRP также расширяется в децентрализованные финансы (DeFi), и Firelight недавно активировал защиту хранилищ в сети.
Малайзийский суд выдал Ripple приказ о наложении ареста на 60% долю Seamless Group в Tranglo, актив, оцененный в…