يوضح اختراق @ResupplyFi الأخير كيف يمكن أن يؤدي تقسيم عدد صحيح بسيط إلى تلاعب كارثي بالخزينة. تم تنفيذ استغلال بقيمة 9.56 مليون دولار في غضون ساعات من النشر. دعنا نكسر هذه الثغرة الأمنية الحرجة في ERC4626 ↓
2 / ناقل الهجوم: ERC4626 التلاعب ب "التبرع الأول": • المخزن الفارغ عند النشر • ودائع المهاجم 1 وي • يتبرع بأصول كبيرة • سعر السهم يتضخم بشكل فلكي • فواصل حساب سعر الصرف في البروتوكول
3 / الثغرة الأمنية في سطر واحد: _exchangeRate = 1e36 / IOracle (_exchangeRateInfo.oracle) .getPrices(عنوان (ضمان)) ؛ تقسيم العدد الصحيح بدون حماية تقريب → سعر الصرف يدور إلى الصفر عندما يكون سعر أوراكل كبيرا جدا.
4 / سلسلة الاستغلال: 1. إيداع 1 wei في قبو فارغ 2. تبرع لتضخيم سعر السهم 3. تقارير Oracle عن تضخم الأسعار 4. سعر الصرف = 0 بسبب القسمة 5. فحص LTV: 0 < = maxLTV (صحيح دائما!) 6. اقتراض غير محدود غير مقفلة
5 / الوقاية بسيطة: _exchangeRate = 1e36 / السعر ؛ تتطلب (_exchangeRate 0 ، "معدل غير صالح") ؛ أيضًا: • فرض الحد الأدنى من الودائع • إضافة فحوصات نسبة الأسهم • مراقبة سيولة الخزينة
6 / الدرس الرئيسي: تحتاج خزائن ERC4626 إلى حماية إضافية عند النشر. مشكلة "المودع الأول" ليست جديدة ، لكن ResupplyFi يوضح كيف يمكن أن تتحول إلى ثغرة أمنية حرجة. اقرأ التحليل الفني الكامل على مدونتنا:
‏‎3.72‏K