ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
تعد MyTube أداة تنزيل ومشغل ذاتي الاستضافة لعدة مواقع فيديو. قبل الإصدار 1.10.3، لا يفرض الوصول إلى الفيديو في الواجهة الخلفية تقييد الزائر المخصص للمحتوى العام فقط عندما يكون `loginEnabled=true` وتم تكوين كلمة مرور للزائر. تصفية الواجهة الأمامية في `VideoContext.tsx` تكون من جهة العميل فقط، و `roleBasedAuthMiddleware.ts` يسمح بجميع طلبات GET للزوار، و `storageService/videos.ts` ينفذ استعلامات `getVideos()` و `getVideoById(id)` دون التحقق من دور المستدعي أو `visibility`. يمكن للزائر تعداد `\/api\/videos` أو طلب `\/api\/videos\/:id` لاسترجاع سجلات `visibility`=0 المخفية، مما يكشف العناوين وقيم `sourceUrl` وقيم `videoPath` ومسارات الترجمة وقيم `thumbnailPath`. كما يخدم مسار `serveMountVideo()` ملفات الفيديو المثبتة دون عمليات التحقق من `visibility`. تعمل المسارات المسربة ضد مسارات `\/videos\/*` و `\/subtitles\/*` غير المصادق عليها، مما يسمح بتنزيلات الوسائط دون بيانات اعتماد. تقوم خلاصات RSS للزوار بالفعل بتصفية المحتوى ذي القيمة `visibility`=1 وليست هي مسار الاستعلام المتأثر. لا تتأثر عمليات نشر المستخدم الفردي الافتراضية حيث `loginEnabled=false` بهذه المشكلة المتعلقة بحدود الأدوار لأن جميع المستدعين يعادلين للمالك. تم إصلاح هذه المشكلة في الإصدار 1.10.3.
المعالجة
المراجع
- مرجعhttps://github.com/franklioxygen/MyTube/commit/456d09892b599e78538ef1a795f49b91256c3ca6
- مرجعhttps://github.com/franklioxygen/MyTube/commit/7cc7c6a7d297ccbd8bd2c76755129381b96f8456
- مرجعhttps://github.com/franklioxygen/MyTube/commit/905cecc010f320ab4e575eb3054179e9616a0b39
- مرجعhttps://github.com/franklioxygen/MyTube/commit/f9ae048cc37c98a3576115d8841f8e96bade5c76
- مرجعhttps://github.com/franklioxygen/MyTube/security/advisories/GHSA-hcm6-w6x8-6jhr