
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





