CVE-2026-8612 in WWW::Mechanize::Cached
الملخص
بحسب VulDB • 27/05/2026
تتضمن إصدارات WWW::Mechanize::Cached السابقة للإصدار 2.00 الخاصة بـ Perl عملية استرجاع بيانات (deserialization) لاستجابات HTTP المخزنة مؤقتاً من ذاكرة تخزين مؤقت على القرص يمكن لأي مستخدم الكتابة فيها، مما يتيح تزوير الاستجابات محلياً وتنفيذ الأكواد.
بدون تحديد واجهة خلفية (backend) محددة للذاكرة المؤقتة، تقوم WWW::Mechanize::Cached بإنشاء واجهة خلفية افتراضية من نوع Cache::FileCache تحت المسار /tmp/FileCache دون تجاوز خاصية directory_umask الموثقة للواجهة الخلفية والمقدرة بـ 000، وبالتالي يتم إنشاء جذر الذاكرة المؤقتة ومجلداتها الفرعية بصلاحيات 0777 وبدون تفعيل "sticky bit". تُسمى إدخالات الذاكرة المؤقتة باستخدام sha1_hex للطلب، وتُقرأ مرة أخرى عبر Storable::thaw عند حدوث مطابقة تالية للذاكرة المؤقتة.
يمكن لمهاجم محلي لديه صلاحية الكتابة في شجرة الذاكرة المؤقتة استبدال إدخال الذاكرة المؤقتة الخاص بالضحية لعنوان URL معروف بكتلة بيانات HTTP::Response مجمدة (frozen blob) عشوائية، مما يتسبب في إرجاع بايتات استجابة خاضعة لسيطرة المهاجم عند قيام الضحية بإجراء get() التالي لذلك العنوان URL. ونظراً لأن هذه البايتات تُمرر إلى Storable::thaw، يمكن للعمليات التي تحمل الضحية أي فئة (class) تحتوي على تأثيرات جانبية في دوال STORABLE_thaw أو DESTROY أو دوال التحميل الزائد (overload hooks) أن ترتقي إلى مستوى تنفيذ الأكواد بشكل تعسفي.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.