عملاء إيثريوم يسدّون ثغرة قد تسمح بتحويل مكافآت ETH
تسلّل خطأ تشفيري لدى شركة شهادات هندية إلى إيثريوم، وكان يمكن أن يتيح للمهاجمين تحويل مكافآت كتل بعض المدققين إلى أنفسهم من دون لفت الانتباه.
أصدرت Teku، البرمجية التي يعتمد عليها كثير من المدققين لتشغيل طبقة إثبات الحصة في إيثريوم، الإصدار 26.10.3 يوم الثلاثاء. وأصدرت Besu، التي تعالج معاملات إيثريوم، الإصدار 26.10.2 يوم الاثنين. يوقف التحديثان الاعتماد على شهادات مرتبطة بـ eMudhra، سلطة شهادات هندية، داخل صور Docker الجاهزة التي يشغّلها كثير من المشغلين.
يحجز المدققون ETH كضمان لتأمين إيثريوم ويحصلون على رسوم مقابل اقتراح الكتل. ويتصل بعضهم بخدمات أخرى عبر الإنترنت، معتمدين على الشهادات الرقمية للتأكد من أنهم يتحدثون إلى الخدمة الصحيحة.
في 17 أكتوبر، اكتشف باحثون أن المفاتيح الخاصة وراء ثماني سلطات شهادات وسيطة تابعة لـ eMudhra وُلّدت بعشوائية أقل من اللازم. وهذا يعني أن المفاتيح يمكن استخراجها من الشهادات نفسها، وهي شهادات عامة. ومن يملك تلك المفاتيح يستطيع إصدار شهادات تقبلها البرمجيات غير المحدّثة على أنها حقيقية. حجبت المتصفحات الشهادات، وأبطلتها eMudhra بعد يوم، ثم أعلنت لاحقاً انسحابها من نشاط الشهادات.
لا تتحقق لغة Java، التي تعمل عليها Teku وBesu، افتراضياً من إبطال الشهادات. لذلك ظلت صور Docker الخاصة بـ Teku تثق بالشهادات السيئة حتى بعد إسقاطها من المتصفحات. ويمكن لمهاجم يقع بين المدقق والخدمة التي يتصل بها أن ينتحل صفة تلك الخدمة. وقالت Teku في تحذيرها الأمني إن مدققاً خُدع بهذه الطريقة قد يقترح كتلة تدفع رسومها إلى عنوان المهاجم. ويمكن لموقّع خارجي مزيف، وهي خدمة منفصلة تحتفظ بمفاتيح المدقق، أن يقدّم توقيعات تُستخدم لتغيير وجهة المكافآت، وهو السيناريو الذي صنفته Teku الأعلى خطورة.
وكتب الفريق: «عقدة Teku الافتراضية على الشبكة الرئيسية غير متأثرة ولا تحتاج إلى أي إجراء»، مضيفاً: «لم يُبلَّغ عن أي استغلال». وكانت Consensys Diligence، شريكة Teku الأمنية، أول من رصد المشكلة.
على المشغلين الذين يشغّلون Teku أو Besu مباشرة على أجهزتهم من دون Docker تحديث Java بأنفسهم، لأن تحديث برمجية إيثريوم لا يمس قائمة الشهادات الموثوقة في Java. ولا تعالج صور Docker الجديدة Java المثبتة على الجهاز المضيف. أما من لا يزالون على Java 26 فيواجهون إصلاحاً أصعب: قالت Teku إن ذلك الإصدار انتهى عمره ولن يتلقى نسخة مصححة، ما يعني أن على هؤلاء المشغلين الانتقال إلى Java 25.