---
title: "سيرفر MLflow مفتوح بلا دخول؟ ثغرتين بتقرا الملفات وبتشغّل كود"
description: "تلات إرشادات أمنية لـ MLflow انضافت لقاعدة GitHub بـ 27 تشرين الأول: تنفيذ كود وقراية ملفات على سيرفر بلا تسجيل دخول، ومفاتيح مزوّد LLM بتنكتب بالتتبّعات. الإصلاح بـ 3.17.0."
url: https://ihsanalapsi.dev/articles/mlflow-3-17-0-security-fixes
lang: ar
date: 2026-10-28
updated: 2026-10-28
tags: ["أمن التطبيقات", "AI", "تحديثات أمنية"]
author: Ihsan Alapsi (إحسان العبسي)
---
# سيرفر MLflow مفتوح بلا دخول؟ ثغرتين بتقرا الملفات وبتشغّل كود

إذا فريقك بيشغّل سيرفر MLflow لتتبّع التجارب والنماذج، وهالسيرفر بيوصله حدا بالشبكة بلا تسجيل دخول، ففي ثغرتين بتخلّي هالحدا يقرا ملفات السيرفر أو يشغّل كود عليه. هون بتعرف شو انصلح بنسخة 3.17.0، ومين معرّض، وشو تعمل اليوم.

## شو الثغرات يلي انصلحت بـ MLflow 3.17.0؟

MLflow هو منصة مفتوحة المصدر لتتبّع تجارب تعلّم الآلة وتسجيل النماذج. وبـ 27 تشرين الأول 2026 انضافت تلات إرشادات أمنية إلو لقاعدة ثغرات GitHub بعد المراجعة، وكلها مصلّحة بـ 3.17.0:


| الإرشاد         | شو بيعمل                                                    | التقييم    | النسخ المتأثرة           |
| --------------- | ----------------------------------------------------------- | ---------- | ------------------------ |
| CVE-2026-116692 | تنفيذ كود على سيرفر بلا مصادقة من فك تسلسل المقيّمين        | حرج، 9.8   | من 3.12.0rc0 لقبل 3.17.0 |
| CVE-2026-116690 | قراية أي ملف على سيرفر بلا مصادقة من مصدر نسخة نموذج prompt | عالي، 7.5  | من 3.10.0 لقبل 3.17.0    |
| CVE-2026-116691 | التسجيل الآلي لـ CrewAI بيكتب مفاتيح مزوّد LLM بالتتبّعات   | متوسط، 6.5 | من 2.19.0 لقبل 3.17.0    |


التقييمات على CVSS 3.1. والإرشادات نفسها انتشرت بريبو MLflow قبل، بين 9 و13 تشرين الأول 2026.

## كيف بيقرا المهاجم ملفات السيرفر؟

الثغرة CVE-2026-116690 بتخلّي مهاجم من برّا يقرا أي ملف بيوصله سيرفر MLflow، على سيرفر تتبّع بلا مصادقة. والإرشاد بيقول إنو هاد الافتراضي لما تشغّل `mlflow server`.

المهاجم بيعمل نسخة نموذج معلّمة كـ prompt، ومصدرها مسار محلي بلا بادئة. الكود ما كان يفحص هيك مسار بفرع الـ prompt، وبعدين نقطة get-artifact بتقدّم الملف بصلاحيات السيرفر.

الإرشاد بيعطي أمثلة: `/etc/passwd`، وقواعد SQLite تبع المصادقة والتتبّع، وملفات سجل الأوامر. وعلى سيرفر شغّال بـ `--app-name basic-auth`، أي مستخدم مسجّل بيقدر يعمل نموذج مسجّل بيقرا قاعدة المصادقة ومعها hash كلمة سر المدير.

## كيف بيوصل المهاجم لتنفيذ كود؟

الثغرة CVE-2026-116692 بتخلّي مهاجم عنده وصول HTTP يشغّل كود Python بصلاحيات سيرفر MLflow. بلّشت مع دعم المقيّمين من طرف تالت (third-party scorers) بـ 3.12.0.

السيرفر كان يقبل مسار وحدة Python بالطلب إذا بلّش ببادئة من أربع حزم مسموحة، ويستوردها. والفحص كان يقبل أي وحدة تحت هالحزم، فالسلسلة حسب الإرشاد بتمشي هيك:

1. المهاجم بيعمل تجربة مكان ملفاتها جوّا حزمة مقيّمين مسموحة وقابلة للكتابة.
2. بيعمل run، فبينعمل مجلد ملفات جوّا هالحزمة.
3. بيرفع وحدة Python لهالمجلد.
4. بيبعت مقيّم متسلسل بيأشّر على الوحدة يلي رفعها.
5. بيستدعي نقطة تشغيل المقيّم، فالسيرفر بيستورد الوحدة وبيشغّلها.

الكود بيشتغل قبل ما السيرفر يكمّل الطلب، فحتى لو الطلب فشل بعدين، الكود اشتغل. وبالصورة الجاهزة يلي جرّبوا عليها، السيرفر شغّال كـ uid 0. والشرط إنو السيرفر بيقدر يكتب تحت حزمة مقيّمين مسموحة؛ نظام ملفات للقراية بس بالحاوية بيسكّر هالطريق.

## ليش مفاتيح الـ LLM بخطر كمان؟

لأنو `mlflow.crewai.autolog()` كان ينسخ مفاتيح مزوّد الـ LLM تبع CrewAI لبيانات التتبّع، بلا ما تطلب منه (CVE-2026-116691). فأي حدا بيوصل لتخزين التتبّعات، أو لوجهة OTLP يلي بتبعتلها، بياخد المفتاح.

التحديث ما بيشيل يلي انكتب. الإرشاد بيقول غيّر أي مفتاح كان بـ LLM تبع CrewAI والتسجيل الآلي شغّال، واحذف أو اخفي التتبّعات المتأثرة. وقصة مفاتيح بتطلع من أداة AI مرّت عنا قبل مع [اختراق LiteLLM](/articles/litellm-1-107-0-credential-stealer).

وإذا لازم تغيّر كذا مفتاح ورا بعض، خطوات تغيير الأسرار بعد تسريب كتبناها بمقال [اختراق Railway](/articles/railway-breach-env-vars-rotate-secrets).

## من وين تبلّش هلق؟

بلّش بالنسخة، وبعدين بمين بيقدر يوصل للسيرفر بلا حساب.

1. شغّل `pip show mlflow` على السيرفر وشوف النسخة.
2. حدّث لـ 3.17.0 أو أحدث.
3. إذا السيرفر مفتوح بلا تسجيل دخول، حطه ورا مصادقة أو شبكة داخلية، لأنو قراية الملفات وتنفيذ الكود بيمشوا بلا حساب.
4. إذا بتستعمل تسجيل CrewAI الآلي، غيّر مفاتيح المزوّد ونضّف التتبّعات. وإذا ما فيك تحدّث، وقّفه بـ `mlflow.crewai.autolog(disable=True)`.
5. شغّل حاوية MLflow بنظام ملفات للقراية بس إذا بتقدر.

وإذا عندك أدوات داخلية متل MLflow مفتوحة على الإنترنت وبدك تعرف شو بيشوف المهاجم منها، هاد شغل [مُحَصَّن](/muhassan).

ومقالات الذكاء الاصطناعي كلها بمكان واحد: [مقالات AI](/articles?tag=ai).

## FAQ

**هل سيرفر MLflow بيشتغل بلا تسجيل دخول من الأساس؟**

إي. إرشاد قراية الملفات بيقول إنو سيرفر التتبّع بلا مصادقة هو الافتراضي لما تشغّل mlflow server، فأي حدا بيوصل للسيرفر بالشبكة بيقدر يبعتله طلبات.

**إذا مفعّل basic-auth، أنا بأمان من قراية الملفات؟**

لأ. حسب الإرشاد، أي مستخدم مسجّل بيقدر يعمل نموذج مسجّل بيقدر يقرا قاعدة بيانات المصادقة، ومعها hash كلمة سر المدير.

**التحديث لـ 3.17.0 بيشيل مفاتيح LLM يلي انكتبت بالتتبّعات؟**

لأ. التحديث بيوقف التسريب الجديد بس. الإرشاد بيقول غيّر أي مفتاح مزوّد كان بـ LLM تبع CrewAI والتسجيل الآلي شغّال، واحذف أو اخفي التتبّعات المتأثرة.

**شو بيمنع سلسلة تنفيذ الكود إذا ما قدرت حدّث اليوم؟**

حسب الإرشاد، نظام ملفات للحاوية للقراية بس، أو مجلد حزم المقيّمين المسموحة بملكية مستخدم تاني ما بيقدر يكتب فيه، بيسكّروا طريق رفع الملف. والحل الكامل هو 3.17.0.
