وانفینکس
اصلاح باگ قدیمی XRP Ledger که می‌توانست XRP تازه ایجاد کند

اصلاح باگ قدیمی XRP Ledger که می‌توانست XRP تازه ایجاد کند

18 مهر 1405

319

زمان تقریبی مطالعه: 3 دقیقه

توسعه‌دهندگان XRP Ledger جزئیات یک آسیب‌پذیری جدی را در گزارشی به تاریخ ۹ اکتبر ۲۰۲۶ منتشر کردند. این خطا می‌توانست در شرایطی خاص، XRP تازه‌ای ایجاد کند که در تراکنش بعدی قابل خرج‌کردن باشد. نسخه اصلاح‌شده نرم‌افزار سرور شبکه، xrpld 3.4.1، پیش‌تر در ۲۵ سپتامبر عرضه شده بود. به گفته تیم بررسی‌کننده، شواهدی از بهره‌برداری از این خطا در شبکه‌های عمومی پیدا نشده است. CoinDesk این موضوع را در ۱۰ اکتبر، پس از انتشار گزارش فنی، پوشش داد.

advertise blog post start

خطا چگونه می‌توانست XRP ایجاد کند؟

طبق گزارش امنیتی XRP Ledger، مشکل در جمع‌زدن مبلغ یک پرداخت بود که چندین پیشنهاد معامله را از دفتر سفارش‌ها مصرف می‌کرد. اگر مجموع مبالغ از ظرفیت عددی نرم‌افزار فراتر می‌رفت، نتیجه محاسبه به عددی کوچک برمی‌گشت. در همان حال، صاحبان پیشنهادها مبلغ کامل خود را دریافت می‌کردند و حساب خریدار تنها به اندازه آن عدد کوچک بدهکار می‌شد.

برای تصور سازوکار، چندین حساب را در نظر بگیرید که هرکدام در برابر مقدار اندکی از یک دارایی، مبلغ بسیار بزرگی XRP درخواست می‌کنند. یک پرداخت طراحی‌شده برای پذیرش هم‌زمان همه پیشنهادها می‌توانست خطای جمع‌زدن را فعال کند. این مثال شرح یک حمله احتمالی است؛ گزارش رسمی می‌گوید پرداخت یا معامله عادی به چنین وضعیتی نمی‌رسید. بررسی فنی همچنین نشان داد کنترلِ جلوگیری از ایجاد XRP همان نوع خطای محاسباتی را داشت و ممکن بود اختلاف را تشخیص ندهد.

ترازویی با چند سکه بی‌نشان در یک کفه و یک سکه در کفه دیگر
خطای جمع‌زدن می‌توانست میان مبلغ دریافتی و مبلغ کسرشده اختلاف ایجاد کند.

از گزارش پژوهشگر تا انتشار اصلاحیه

این یافته در ۲۲ سپتامبر از طریق برنامه گزارش باگ XRPL ثبت شد. مهندسان RippleX آن را روی یک سرور مستقل بازتولید کردند و تأیید کردند XRP ایجادشده در یک پرداخت بعدی قابل خرج‌کردن است. گزارش رسمی، Cayden Liao و Veria AI را به‌عنوان ارائه‌دهندگان گزارش اولیه و نمونه آزمایشی معرفی می‌کند. بررسی‌ها نشان می‌دهد خطا احتمالاً از زمان نگارش موتور پرداخت فعلی در سال ۲۰۱۵ وجود داشته است؛ این تاریخ، زمان سوءاستفاده از آن نیست.

اصلاحیه در نسخه 3.4.1 نرم‌افزار xrpld در ۲۵ سپتامبر منتشر شد. اطلاعیه همان روز، انتشار را اضطراری خواند، اما جزئیات آسیب‌پذیری را فاش نکرد. طبق گزارش ۹ اکتبر، بیش از ۸۰ درصد اعتبارسنج‌های فهرست پیش‌فرض مورد اعتماد در روز انتشار نسخه جدید یا نسخه‌ای تازه‌تر را اجرا می‌کردند. اصلاح این خطا با به‌روزرسانی سرور اعمال می‌شد.

پیامد احتمالی و وضعیت اعلام‌شده

XRP Ledger برای عرضه XRP سقف تعیین کرده است. اگر این آسیب‌پذیری استفاده می‌شد، XRP ایجادشده می‌توانست به حساب‌های عادی منتقل شود یا در معاملات به کار رود. گزارش رسمی می‌گوید اجرای حمله به صدها پیشنهاد با قیمت‌گذاری غیرعادی و یک پرداخت مخصوص نیاز داشت. تیم بررسی‌کننده در شبکه‌های عمومی نشانه‌ای از وقوع آن نیافته است؛ بنابراین مقدار XRP در معرض خطر را نباید با XRP واقعاً ایجادشده اشتباه گرفت.

جمع‌بندی

خبر ۱۰ اکتبر درباره افشای جزئیات خطایی است که اصلاح آن از ۲۵ سپتامبر در دسترس بود. آزمایش روی سرور مستقل، امکان ایجاد و خرج‌کردن XRP را نشان داد، اما گزارش امنیتی وقوع چنین حمله‌ای را در شبکه‌های عمومی تأیید نمی‌کند. برای گردانندگان سرور، نسخه نرم‌افزار اهمیت عملی دارد: گزارش رسمی می‌گوید سرورها برای همگام‌ماندن با شبکه باید xrpld 3.4.1 یا نسخه جدیدتر را اجرا کنند.

آیا مطالعه این مقاله برای شما مفید بود؟!

advertise blog post end