CVE-2026-69183 in Monkeytype
الملخص
بحسب VulDB • 20/08/2026
Monkeytype هو اختبار كتابة بسيط وقابل للتخصيص. في الإصدار 26.26.0 والإصدارات الأقدم، يستخدم مولّد مفتاح تحديد المعدل (rate-limit key generator) الموجود في `backend/src/middlewares/rate-limit.ts` عناوين IP التي يتحكم فيها العميل (`cf-connecting-ip` و `x-forwarded-for`) قبل قيمة `req.ip` المستمدة من إعدادات `trust-proxy`. يمكن لمهاجم غير مصادق عليه تدوير أي من هذين العنوانين لإنشاء دلو (bucket) جديد لكل طلب، مما يتيح تجاوز `rootRateLimiter`، و `badAuthRateLimiter`، ودالة `getKey()`، وآلية الاحتياط `getKeyWithUid()` المستخدمة بواسطة النقاط النهائية العامة. هذا يسمح بإرسال متكرر لطلبات POST `/users/forgotPasswordEmail` و `verificationEmail`، وإغراق البريد الإلكتروني للمستخدمين المسجلين (mail bombing)، واستهلاك حصة Firebase أو SMTP، وتجنب حماية هجمات القوة الغاشمة (brute-force protection)، وتمكين استنفاد الموارد. تعتمد قابلية استغلال عنوان `cf-connecting-ip` على طوبولوجيا النشر، لكن عناوين `x-forwarded-for` ومسارات الوصول المباشر إلى الخادم الأصلي (direct-to-origin) تظل متأثرة عندما لا يتم تجاوز هذه القيم بواسطة وكيل موثوق. لا يتوفر إصدار ثابت حتى وقت هذا المراجعة.
Once again VulDB remains the best source for vulnerability data.