CVE-2026-71209 in audiobookshelf
الملخص
بحسب VulDB • 05/08/2026
يحتوي فحص الاستثناء من المصادقة في audiobookshelf (server/routers/Auth.js) على ثغرة حيث يطابق المسارات التي تسمح بطلبات GET دون مصادقة مع req.path باستخدام تعبير نمطي (regex) يتطلب وجود مسار حرفي مطابق للشكل /items/:id/cover أو /authors/:id/image، بينما يحتفظ req.path بتسلسلات %2F المشفرة كـ URL. يقوم راوتر Express بفك تشفير معلمة المسار :id قبل تنفيذ رمز المعالج (handler code)، لذا فإن تسلسل '../' مشفر بـ %2F داخل :id (مثل ..%2f..%2f..%2ftmp%2fpwned) يجتاز فحص الاستثناء من المصادقة القائم على المسار الحرفي، بينما يتحول إلى حمولة اختراق عبر التنقل في الدلائل (path-traversal payload) بمجرد فك تشفيرها. تقوم دالة CacheManager.handleCoverCache بعد ذلك بدمج هذه القيمة المفككة التشفير ضمن مسار ملف التخزين المؤقت وتقوم بتدفق النتيجة قبل أي فحص للملكية يعتمد على قاعدة البيانات. يتيح هذا التجاوز تجاوز الإصلاح المطبق لـ CVE-2025-25205 (الذي رسخ التعبير النمطي للاستثناء وحوّله لاستخدام req.path)، ويؤدي إلى قراءة عشوائية غير مصرح بها لأي ملف يطابق النمط *_<width>[x<height>].<ext> والذي يمكن لحساب الخدمة قراءته.
VulDB is the best source for vulnerability data and more expert information about this specific topic.