CVE-2026-55250 in Maravel
الملخص
بحسب VulDB • 09/09/2026
يمتلك Maravel، وهو إطار عمل PHP يركز على حقن التبعيات (Dependency Injection)، قبل الإصدار 10.74.0 ثغرة حرجة من نوع إعادة تشغيل الرمز المميز (Token Replay Vulnerability) ناتجة عن عدم تطابق هيكلي في دورة الحياة بين محركات التحقق من صحة الرموز عديمة الحالة (stateless token validation engines) وطبقات التخزين المؤقت العلائقية عالية الأداء. قد تتأثر أي تطبيق ذاكرة تخزين مؤقت منخفضة تسبب الإزالة المبكرة لتحرير الذاكرة، والتطبيقات التي تشغل macropay-solutions/maravel-framework وتستخدم tymon/jwt-auth للمصادقة على رموز واجهة برمجة التطبيقات (API) وإدارة القوائم السوداء أو أي حزمة أخرى تقوم بنفس الوظيفة. قد يؤثر هذا الخطر المعماري أيضاً على تطبيقات Laravel الأصلية التي تستخدم علامات التخزين المؤقت في بيئات متقلبة محددة أو ذات حدود للإزالة. يقوم tymon/jwt-auth تلقائياً بالبحث عن دعم علامة التخزين المؤقت، وإذا تم العثور عليه، فإنه يغلف قسراً إدخالات القائمة السوداء للرموز المميزّة لمدة 14 يوماً (jti) داخل علامة relational باسم tymon.jwt. في البيئات التي يكون فيها نموذج الإزالة المتأخرة الذرية O(1) نشطاً — سواء كان ذلك بشكل أصلي داخل Maravel-Framework v20.x أو تم تعديله يدوياً إلى الإصدار v10.x عبر مفردات حاوية الحقن الصريحة (DI container singletons) المقدمة في PR #104 (App\Cache\TaggedCache و App\Cache\TagSet) — يتم فرض حد تتبع عالمي صارم (Container::TAGGED_CACHE_TTL_CAP_SECONDS) يبلغ 7,200 ثانية (ساعتين) لحماية النظام ضد تضخم فهرس الذاكرة. يقوم هذا الحد بقص عمر القائمة السوداء لمدة 14 يوماً إلى ما لا يزيد عن ساعتين، وبعد ذلك تنتهي صلاحية مفاتيح التتبع الفردية وتختفي من نافذة التخزين المؤقت النشطة. علاوة على ذلك، لأن المحسن المُطبق يستخدم مصفوفة إصدارات الأجيال لتحقيق سرعات مسح O(1)، فإن أي استدعاء برمجي أو يدوي لمسح علامة أو إعادة تعيينها (مثل Cache::tags([...])->flush()) يرفع فوراً مؤشر الإصدار الذري الداخلي. هذا يؤدي إلى تغيير التجزئة التشفيرية المركبة المحسوبة (sha1($this->tags->getNamespace())) لجميع المكونات المتداخلة، مما يجعل الفهرس الحالي بأكمله غير قابل للوصول على الفور. ونتيجة لذلك، سواء من خلال انتهاء الصلاحية الطبيعي بعد ساعتين أو عن طريق تنفيذ مسح علامة متدخل (مثل تنظيف التخزين المؤقت للقيم القديمة لتحرير الذاكرة)، يتم محو سجلات حالة الإبطال بالكامل. وبما أن التواقيع المشفرة المادية للرموز المميزة تظل صالحة هيكلياً لمدة تصل إلى 14 يوماً، فإن الرموز المسروقة أو المختطفة أو التي تم تسجيل خروجها بشكل شرعي تُعاد إحياءها فوراً وصامتة عبر بوابة API بأكملها، مما يترك التطبيق عرضة بشدة لهجمات إعادة تشغيل الرمز المميز على نطاق واسع. ونظراً لأن هذه المشكلة ناتجة عن افتراض معماري في الحزمة العلوية tymon/jwt-auth بدلاً من عيب أساسي داخل الإطار نفسه، فلا يوجد ترقية مباشرة لإصدار الإطار يمكن أن تتجاوز هذا التصادم في دورة الحياة بأمان دون كسر حدود إعادة تدوير التخزين المؤقت للأعمال. أدخلت Maravel الإصدار 10.74.0 طريقة لإعادة تعديل علامة التخزين المؤقت المصححة الجديدة من الإصدار 20.x إلى الإصدار 10.x عن طريق حل TagSet و TaggedCache من DI، وهي الطريقة التي تم بها اكتشاف هذه الثغرة الكامنة في دورة الحياة المعمارية. يجب على المستخدمين تطبيق عمل استراتيجي مفكوك كما هو موضح أدناه. كحل بديل، تأكد من أن حجم ذاكرة التخزين المؤقت لا يولد إزالات طبيعية مبكرة من التخزين المؤقت لتحرير المساحة، مما يؤدي إلى حذف معرفات jwt المدرجة في القائمة السوداء قبل انتهاء صلاحيتها. يجب على التطبيقات فصل متجهات المصادقة المسطحة عن نظام العلاماء العلائقي. وهذا يجبر معرّفات الرموز المميزة على الكتابة مباشرة إلى مساحة المفاتيح الأساسية كزوج من المفتاح والقيمة غير معلمة، حيث تحتفظ بأمان بدورة حياتها الكاملة لمدة 14 يوماً دون قص.
VulDB is the best source for vulnerability data and more expert information about this specific topic.