
إثبات مفهوم لاستغلال CVE-2023-1177، وهي ثغرة اجتياز المسار في MLflow، توضح الوصول غير المصرح به إلى الملفات عبر أسماء نماذج مصممة بعناية.
MLflow هي منصة مفتوحة المصدر لإدارة دورة حياة التعلم الآلي من البداية إلى النهاية.
الوظائف الأساسية:
يتناول MLflow أربع وظائف أساسية:
تتبع التجارب لتسجيل ومقارنة المعلمات والنتائج (MLflow Tracking).
تغليف كود التعلم الآلي في شكل قابل لإعادة الاستخدام والتكرار، من أجل مشاركته مع علماء بيانات آخرين أو نقله إلى الإنتاج (MLflow Projects).
إدارة ونشر النماذج من مجموعة متنوعة من مكتبات التعلم الآلي إلى مجموعة متنوعة من منصات تقديم النماذج والاستدلال (MLflow Models).
توفير مخزن نماذج مركزي لإدارة دورة الحياة الكاملة لنموذج MLflow بشكل تعاوني، بما في ذلك إصدار النماذج، والانتقال بين المراحل، والتعليقات التوضيحية (MLflow Model Registry).
مستقل عن المكتبات: MLflow مستقل عن المكتبات، مما يعني أنه يمكن استخدامه مع أي مكتبة تعلم آلي وبأي لغة برمجة، حيث أن جميع الوظائف متاحة عبر REST API و CLI.
API: يتضمن المشروع Python API و R API و Java API لسهولة الاستخدام.
المصدر: https://mlflow.org/docs/latest/index.html
تم اكتشاف ثغرة اجتياز المسار في MLflow. اجتياز المسار هو نوع من الثغرات الأمنية على الويب يسمح للمهاجم بالوصول إلى الملفات والدلائل المخزنة خارج الدليل المقصود. يستخدم المهاجمون تقنيات مختلفة لاستغلال هذه الثغرة والحصول على وصول غير مصرح به إلى البيانات الحساسة أو تنفيذ كود عشوائي. يمكن منع هجمات اجتياز المسار من خلال التحقق من صحة الإدخال وإجراءات التحكم في الوصول.
تم اكتشاف الثغرة بواسطة Dan McInerney.
اقرأ المزيد: https://huntr.dev/bounties/1fe8f21a-c438-4cba-9add-e8a5dab94e28/
[CVE-2023-1177]
اجتياز المسار: '..\filename' في مستودع GitHub mlflow/mlflow قبل الإصدار 2.2.1.
اقرأ المزيد: https://nvd.nist.gov/vuln/detail/CVE-2023-1177
لقد أنشأت سكربت Python صغير يمكن استخدامه لاختبار واستغلال الثغرة
سيقوم بإنشاء معرف فريد لاسم النموذج ثم الوصول إلى جميع عناوين URL بالتسلسل.
