PT-2026-25013 · Npm+3 · @Tinacms/Cli+2
CVSS v3.1
8.4
عالية
| المتجه | AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات TinaCMS السابقة للإصدار 2.1.8
الوصف
Tina هو نظام إدارة محتوى بدون واجهة مستخدم (headless). كان خادم التطوير TinaCMS CLI، قبل الإصدار 2.1.8، يعرض نقاط نهاية الوسائط المعرضة لمشكلة «اجتياز المسار» (path traversal). وهذا يسمح للمهاجمين بقراءة وكتابة، وربما حذف، ملفات عشوائية على نظام الملفات خارج دليل الوسائط المقصود. يقوم الخادم بتشغيل خادم HTTP محلي (المنفذ الافتراضي 4001) يعرض نقاط نهاية مثل ’/media/list/‘ و'/media/upload/’ و‘/media/*'. تعالج نقاط النهاية هذه أجزاء المسار التي يتحكم فيها المستخدم باستخدام
decodeURI() وpath.join() دون التحقق من أن المسار الذي تم تحليله يظل ضمن دليل الوسائط المُعد مسبقًا. يستخدم مقتطف الشفرة المعرض للخطر path.join() لإنشاء مسارات الملفات دون التحقق الصحيح، مما يسمح للمهاجمين بالتلاعب بالمسار والوصول إلى الملفات خارج الدليل المقصود. وعلى وجه التحديد، يتم استخدام المتغير fullPath، المشتق من عنوان URL للطلب، بالاقتران مع path.join() لإنشاء مسار saveTo، الذي يُستخدم بعد ذلك لكتابة الملفات. يمكن للمهاجم استغلال هذه الثغرة عن طريق صياغة جزء مسار ضار في عنوان URL لاجتياز بنية الدليل والوصول إلى الملفات الحساسة. على سبيل المثال، قد يسمح استخدام مسار مثل ’/media/upload/../../../../etc/passwd‘ للمهاجم بقراءة محتويات ملف ’/etc/passwd‘. يمكن استغلال هذه الثغرة الأمنية في بيئات تطوير السحابة (IDE)، أو إعدادات Docker أو الآلات الافتراضية (VM) التي تستخدم إعادة توجيه المنافذ، أو بيئات التطوير التي تم تكوينها بشكل خاطئ، والبيئات المحليةاستغلال
إصلاح
Path traversal
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾
تصنيف نقاط الضعف
المعرّفات ذات الصلة
المنتجات المتأثرة
@Tinacms/Cli
Cli
Tinacms