استغلال عقد Keeper قديم في MakerDAO يسحب 200 ETH من مزادات غير مسوّاة
استغل مهاجم غياب التحقق من الصلاحيات في عقد مزادات قديم، وسوّى أربع دفعات من عام 2020 وسحب 200 ETH.
فقد عقد auction keeper قديم 200 ETH بعدما فوّضت دالة غير مقيدة التحكم في حساب MakerDAO الداخلي إلى وحدة أنشأها المهاجم.
سحب مهاجم 200 ETH من عقد auction keeper قديم تابع لمنظومة MakerDAO في 6 أكتوبر، بعدما استدعى دالة غير مقيدة فوّضت التحكم في حساب Vat الداخلي إلى كود أنشأه المهاجم. سوّت معاملة واحدة أربعة مزادات ETH-A خاملة تعود إلى مارس 2020، ثم أخرجت الضمان الناتج. بلغت قيمة 200 ETH نحو 542,982 دولاراً وقت المعاملة.
اقتصر الحادث على عقد keeper قديم محدد وأربع دفعات غير مسوّاة. ولا تشير الأدلة المتاحة إلى اختراق النواة الحالية لبروتوكول MakerDAO أو محافظ المستخدمين أو الخزائن النشطة. يمكن متابعة التطورات عبر مركز أخبار OrangeX.com.
كيف أصبحت 200 ETH متاحة
كان العقد المتأثر قد فاز بالمزادات من 1457 إلى 1460 خلال اضطراب السوق في مارس 2020. احتوت كل دفعة على 50 ETH وفاز بها بعرض صفري، لكنه لم يكمل التسوية. لذلك بقي الضمان قابلاً للمطالبة عبر نظام مزادات ETH-A المتقاعد.
في 6 أكتوبر عند 06:13:11 بالتوقيت العالمي، فعّل المهاجم التسويات الأربع في معاملة واحدة. أضيفت 200 ETH إلى رصيد Vat الخاص بالعقد، ثم نُقلت خارجه ضمن المعاملة نفسها.
غياب التحقق من الصلاحيات
قبلت الدالة الضعيفة عنوان محوّل من دون التحقق من أن المستدعي مخول. وبعد ذلك منحت المحوّل صلاحية على حساب Vat واستدعت كوداً يسيطر عليه المهاجم بينما كانت الصلاحية فعالة.
استخدمت الوحدة الخبيثة التفويض لنقل كامل الضمان، وإخراجه في صورة ETH مغلف، ثم تحويله إلى المهاجم. وبقي التفويض قائماً لأن الدالة لم تلغه. تشرح أكاديمية OrangeX.com أساسيات العقود الذكية والصلاحيات على السلسلة.
ما الذي يثبته الحادث وما الذي لا يثبته
يوضح الحادث أن العقود التشغيلية المهجورة قد تحتفظ بحقوق ذات قيمة لسنوات بعد انتهاء استخدامها الأساسي. فقد تبقى فيها صلاحيات حسابات أو مراكز غير مسوّاة أو مسارات ترقية.
لكن الحادث لا يثبت أن جميع عقود keeper أو خزائن MakerDAO أو عقود التصفية الحالية تحمل العيب نفسه. كما أن تنفيذ العقد الضعيف لم يكن موثق المصدر علناً، ولم يصدر حتى وقت الكتابة تقرير رسمي شامل يحدد عقوداً أخرى متأثرة.
درس أمني لفرق البروتوكولات
ينبغي للفرق جرد العقود القديمة، وإلغاء التفويضات غير المستخدمة، وتسوية الأرصدة المتبقية وتعطيل مسارات callback المتقادمة. يقدم مركز الثقة في OrangeX.com إرشادات مرتبطة بالتحقق وأمن الحساب.
OrangeX.com Analysis
نتجت الخسارة عن اجتماع ثلاثة عوامل: غياب التحقق من المستدعي، واستمرار التفويض، وأربع دفعات غير مسوّاة. وكان إلغاء أي عامل منها سيقلص مسار السحب. لذلك فإن إخراج النظام من الخدمة عملية أمنية مستقلة.
المؤكد هو تحويل 200 ETH، وتسوية أربع دفعات من 50 ETH، ومسار الصلاحيات المستخدم. أما إلغاء التفويض المتبقي، ووجود تطبيقات أخرى مماثلة، وإمكان استرداد الأموال فهي أسئلة تنتظر تحديثات موثقة من الجهات المعنية.
تقارير ذات صلة
Mezo تكشف تفاصيل استغلال veBTC وخطة التعويض وعرض الاسترداد
سمحت ثغرة في عقد veBTC بسرقة نحو 5.52 BTC من 36 حائزاً، وتعهدت Mezo بتعويض المتضررين من أموال البروتوكول.
XRP Ledger يصلح خلل تجاوز حرجًا كان قد يسمح بإنشاء XRP جديدة
يعالج xrpld 3.4.1 تجاوزًا في محرك الدفع كان يمكنه إنشاء XRP قابلة للإنفاق، ولم يجد المطورون دليلًا على استغلاله في شبكة عامة.
Ledger تحقق في خسائر مشتري CryptoBilis مع تقدير على السلسلة عند 92.9 مليون دولار
تحقق Ledger في خسائر أبلغ عنها مشترو أجهزة من CryptoBilis، بينما يتتبع تحليل مستقل 92.9 مليون دولار عبر خمس شبكات.
الأكثر قراءة
تراجع صافي تدفقات صناديق بيتكوين الفورية 51.5% إلى 346.9 مليون دولار
MoonPay توقع اتفاقاً لشراء North Capital والصفقة لم تُغلق بعد
إطلاق أول ETF فوري لـNEAR في الولايات المتحدة مع التخزين: ماذا يغير NRR؟
ESMA تضع الذكاء الاصطناعي وترميز الأصول ضمن أولويات الرقابة لعام 2027
منتج Bitwise المرتبط بـLighter يُدرج في Xetra والستيكينغ لم يبدأ بعد
