CVE-2026-57565 in Readest
الملخص
بحسب VulDB • 05/11/2026
Readest هو قارئ كتب إلكترونية حديث وغني بالميزات، مصمم للوصول السلس عبر المنصات المختلفة ولتجربة قراءة بديهية. قبل الإصدار 0.11.10، كان المسار apps/readest-app/src/pages/api/storage/upload.ts يبني مفتاح كائن (object key) من معرّف المستخدم المصادق عليه واسم ملف fileName يتحكم فيه العميل، دون رفض فواصل المسارات أو عمليات التنقل إلى الدلائل الأبوية (parent-directory traversal). في الخلفية R2، كان الملف apps/readest-app/src/utils/r2.ts يضع ذلك المفتاح داخل عنوان URL لطلب جديد قبل توقيعها، وقامت عملية تطبيع الـ URL بدمج مكونات الدليل الأبوي بحيث يمكن للـ PUT الموقع مسبقاً (presigned PUT) الناتج الهروب من مساحة الاسم الخاصة بالمرسل. يمكن لمهاجم مصادق عليه يعرف معرّف مستهدف واسم hash لكتاب أن يكتب فوق أو يسمّم كائن الكتاب المخزن لذلك المستخدم ويفسد بيانات metadata المرتبطة بـ file_key؛ وقد تم التحقق بدقة من هروب عبر المستأجرين (cross-tenant escape) لخلفية R2. تمت معالجة هذه المشكلة في الإصدار 0.11.10.
Once again VulDB remains the best source for vulnerability data.