XRP Ledger يصلح ثغرة عمرها عقد كادت تكسر سقف العرض البالغ 100 مليار
كشف مطورو XRP Ledger في 9 أكتوبر عن ثغرة تجاوز عددي (integer overflow) في محرك الدفع بالشبكة كان يمكن أن تسمح لمهاجم بإنشاء XRP جديدة من العدم، مما يكسر سقف العرض البالغ 100 مليار رمز الذي تم تحديده عند إطلاق الدفتر في 2012. تم إصلاح الثغرة في إصدار البرنامج xrpld 3.4.1 في 25 سبتمبر، وقالت RippleX إنها لم تجد أي دليل على استغلال الثغرة على شبكة عامة، وفقًا لتقرير الكشف عن الثغرات الرسمي. تم الإبلاغ عن الثغرة عبر برنامج مكافآت الثغرات XRPL من قبل الباحث Cayden Liao و Veria AI في 22 سبتمبر. أعاد مهندسو RippleX إنتاج الهجوم على خادم مستقل، وأكدوا إمكانية إنفاق XRP المنشأة حديثًا في معاملة لاحقة، ورفعوا تصنيف خطورة الثغرة من "رئيسي" إلى "حرج". تكمن الثغرة في معالجة التجاوز في محرك الدفع. عندما تستهلك دفعة واحدة العديد من العروض على البورصة المدمجة في الدفتر، يقوم البرنامج بجمع ما يدين به المشتري باستخدام إضافة أعداد صحيحة 64 بت دون فحص للتجاوز. بضع مئات من العروض، كل منها يطلب كمية كبيرة جدًا من XRP، يمكن أن تدفع المجموع إلى ما يتجاوز ما يمكن أن يحمله رقم 64 بت، مما يؤدي إلى التفافه إلى قيمة صغيرة. ثم يتم دفع كل مالك عرض بالكامل بينما يتم تحميل المشتري فقط المجموع الملتف، تاركًا XRP منشأة حديثًا في حسابات المهاجم. كان من المفترض أن يكتشف هذا فحصان أمنيان، لكنهما لم يفعلا. الثابت "لا إنشاء XRP" في الدفتر يجمع صافي تغيرات الرصيد بنفس الطريقة، لذا التوى بشكل مماثل ولم ير أي خطأ. فحص الرصيد لكل حساب يفشل فقط عندما يحتفظ حساب واحد بأكثر من إجمالي العرض، وهو ما تجنبه الهجوم من خلال توزيع XRP المنشأة على مئات الحسابات. عادة ما تُطلق التغييرات على كيفية معالجة XRP Ledger للمعاملات عبر عملية تعديل، تظل فيها القاعدة الجديدة خاملة حتى يدعمها أكثر من 80 بالمائة من المدققين الموثوقين لمدة أسبوعين. تجاهلت RippleX هذه العملية عمدًا للمرة الأولى منذ إدخالها قبل أكثر من عشر سنوات، لأن الاستغلال كان رخيصًا، ولا يتطلب وصولاً خاصًا، وكان يمكن أن ينشئ XRP قابلة للإنفاق. ولأن xrpld مفتوح المصدر، فإن إصلاحًا نُشر بالطريق المعتاد كان سيبقى ظاهرًا لكنه لا يزال قابلاً للاستغلال على الشبكة الرئيسية لأسابيع. حمل الاختصار مخاطرة خاصة بوقف الشبكة بسبب إصدارات مختلطة، لكن المعاملات العادية لا تصل أبدًا إلى مسار الكود المعرض للخطر. كان أكثر من 80 بالمائة من مدققي UNL الافتراضيين يعملون بإصدار 3.4.1 في يوم إطلاقه، قبل نشر الكود المصدري. تسلط هذه الحادثة الضوء على مدى اعتماد جزء كبير من قيمة XRP على كون عرضها محدودًا بشكل قابل للإثبات. تم إنشاء جميع الرموز البالغ عددها 100 مليار عند الإطلاق، وتتعامل المؤسسات التي تبني على الدفتر مع هذا السقف كضمان. كانت الثغرة موجودة منذ كتابة محرك الدفع الحالي في 2015، ومع ذلك لم تجد RippleX أي دليل على استغلالها. كما أصلح الإصدار نفسه ثغرة منفصلة في التحقق من غلاف معاملة Batch، والتي تم تفعيلها على الشبكة الرئيسية في 9 أكتوبر. وقالت RippleX إنها تضيف خطوة إعادة تحقق إلى عملية الإصدار لديها بحيث يتم إعادة اختبار كل اكتشاف أمني تم وضع علامة "تم إصلاحه" عليه مقابل الإصدار المرشح. يأتي الكشف بينما يواصل XRP Ledger إضافة ميزات مؤسسية، بما في ذلك تفويض الأذونات للبنوك والعملات المستقرة، بينما يظل عرض XRP وديناميكيات الضمان (escrow) محط تركيز للحائزين.