Bitcoinnews
☰
✕

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

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

Разработчики XRP Ledger обнаружили и закрыли критическую уязвимость, которая скрывалась в коде сети около десяти лет. Ошибка переполнения в системе обработки платежей теоретически позволила бы злоумышленнику создать монеты из ничего, нарушив фундаментальное свойство блокчейна.

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

Как ошибка остаётся незамеченной

Фатальной ошибке помогла существовать встроенная система защиты. Проверка безопасности, которая должна была гарантировать, что ни одна транзакция не создаёт XRP, использовала ту же повреждённую арифметику. Она точно так же «перегибалась» и никогда не выявляла нарушение.

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

Компания подтвердила, что нет признаков того, что уязвимость когда-либо была скомпрометирована. Патч вышел в версии 3.4.1 25 сентября, и уже в тот день более 80% доверенных валидаторов сети работали с исправленным кодом.

Обход стандартной процедуры

Примечательно, что разработчики минули обычный процесс внесения изменений в сеть — голосование валидаторов с двухнедельным ожиданием. В первый раз за более чем десять лет изменение в системе обработки транзакций было развёрнуто в обход этой процедуры. Команда обосновала это критической серьёзностью: если бы они опубликовали исходный код исправления в стандартном порядке, ошибка оставалась бы уязвимой несколько недель, пока идёт голосование.

Этот инцидент перекликается с проблемой стабильности, которая в этом году касалась Zcash. Приватная монета спешила закрыть ошибку в своём экранированном пуле, которая теоретически позволила бы подделать монеты. Тогда ZEC упал в цене, пока сеть не развернула обновление Ironwood.

XRP не избежал колебаний на этой неделе: токен торговался на уровне $1,38 в понедельник, упав на 1,6% за сутки — худший результат среди крупных криптовалют за семь дней минус 9,4%.

Читать на bitcoinnews