
XRPL отозвал своё изменение (amendment) Permission Delegation после того, как отчёт в рамках программы bug bounty выявил уязвимость высокого риска на этапе тестирования; усиленная версия V1.1 сейчас проходит финальную проверку безопасности и контроль качества.
Этот случай показывает, почему делегирование на уровне протокола нуждается в защитных механизмах, выходящих за рамки самой базовой функции.
XRPL перерабатывает делегирование разрешений после отчёта об ошибке
Permission Delegation, известное как XLS-75, позволяет одному аккаунту передавать другому аккаунту определённые полномочия действовать от его имени. Предполагается, что эти права носят узкий характер, а не дают делегату контроль над всем аккаунтом.
Глава инженерного отдела RippleX Дж. Айо Акинийеле объяснил, что первоначальная реализация V1.0 была отозвана после того, как об уязвимости сообщили через программу bug bounty ещё до того, как она достигла основной сети XRPL. Вместо исправления этой версии на месте команда представила V1.1, чтобы отделить первоначальную реализацию от усиленного релиза.
Исследователь под псевдонимом Shotes обнаружил проблему высокой степени серьёзности, связанную с неотзываемыми правами делегата: делегат мог удалить свой аккаунт, а затем воссоздать его, сохранив при этом все права, переданные ему другим аккаунтом, — при этом у исходного аккаунта не было способа отозвать эти права.
Изменения выходят за рамки одной ошибки. V1.1 устраняет пограничные случаи, связанные с идентификацией делегата, и не позволяет непреднамеренно делегировать более новые возможности, включая операции Vault и Lending. Также исправлен учёт резервов для делегированных платежей и закрыт путь через мультиподпись, который мог обойти проверки делегирования. Поведение при отзыве прав также было ужесточено.
Проверка также выявила переполнение целого числа без знака средней степени серьёзности в функции isDelegable, которое могло привести к тому, что некорректное значение разрешения интерпретировалось бы как делегируемый тип транзакции, хотя исследователи отметили, что эта проблема не имела значимого эффекта без недобросовестных действий со стороны делегирующей стороны.
Тестирование расширяется на всю поверхность делегирования XRPL
Отчёт о контроле качества, опубликованный Рамкумаром SG 26 августа, зафиксировал 179 отдельных тестов Permission Delegation, включая 112 функциональных тестов, 48 состязательных тестов безопасности и 19 межфункциональных тестов. Тестирование также охватило взаимодействие с Batch, Confidential MPT, очередью транзакций и мультиподписью.
XRP Ledger Operations сообщила, что все выявленные проблемы были исправлены в V1.1 и проверены компанией по безопасности Cantina. Её команда контроля качества также сообщила об отсутствии регрессий среди 5,088 тестов и отметила отсутствие открытых внутренних ошибок, классифицированных как критические, заключив, что функция готова к промышленному использованию на уровне протестированного коммита.
Permission Delegation была представлена в мае 2025 года, отмечена как неподдерживаемая в сентябре 2025 года в ожидании исправления безопасности, переименована в PermissionDelegationV1_1 в октябре и вновь стала поддерживаемой в июне 2026 года.
Как сообщал CryptoPotato на прошлой неделе, публичная панель мониторинга, созданная разработчиком Денисом Анджеллом, отслеживает, насколько тщательно изменения XRPL проверяются в devnet перед выходом в основную сеть, и делегирование было среди изменений, отмеченных ею как неполные.
Для пользователей и провайдеров кастодиальных услуг предполагаемая функциональность остаётся неизменной. Как выразился Акинийеле, V1.1 не меняет то, что может делать XLS-75; вместо этого меняются условия, при которых эта возможность активируется.
Source: CryptoPotato



