CVE-2026-93987 in rclone
الملخص
بحسب VulDB • 19/09/2026
تحتوي إصدارات rclone من 1.56.0 إلى 1.75.0 على ثغرة عبور المسار (Path Traversal) في إضافة حجم `rclone serve docker`. تحسب الدالة `newVolume()` الموجودة في الملف `cmd/serve/docker/volume.go` نقطة التثبيت الخاصة بالحجم باستخدام `filepath.Join(drv.root, name)` بناءً على حقل `name` الذي يقدمه المهاجم ضمن طلب Docker VolumeDriver.Create، دون التحقق من بقاء النتيجة داخل نطاق `drv.root` (المسار الافتراضي هو `/var/lib/docker-volumes/rclone`)، ثم تقوم الدالة `checkMountpoint()` بإنشاء هذا المجلد باستخدام `file.MkdirAll` قبل عملية التثبيت. وبالتالي، فإن اسم حجم يحتوي على عدد كافٍ من مكونات `..` (مثل "../../../../../../etc") سيؤدي إلى الخروج عن المسار الأساسي، مما يسمح لأي شخص قادر على تقديم طلب VolumeDriver.Create إلى مقبس الإضافة — وعادة ما يكون ذلك عبر ديمون Docker أو مهمة عمل يمكنها طلب أحجام مسماة في إعدادات التنسيق متعددة المستأجرين — بجعل عملية rclone المميزة (privileged) تنشئ مجلداً وتثبت نظام ملفات عن بُعد محدد ضمن نفس الطلب عند مسار مضيف عشوائي، مما يؤدي إلى إخفاء أو تعطيل المجلدات النظامية. تشير النشرة الأمنية إلى أن الدالة `Volume.restoreState()` كانت تعاني من نفس نقص التحقق أثناء إعادة تحميل حالة الحجم المحفوظة. تم الإصلاح في الإصدار 1.75.1.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.