Apa yang terjadi
Cabang prompt dari _create_model_version() menerima sumber relatif tanpa skema karena validasi path hanya berjalan ketika sumber membawa skema URL, dan mlflow.prompt.is_prompt disimpulkan dari keberadaan tag daripada nilai sebenarnya. Ini memungkinkan pemanggil jarak jauh mendaftarkan path lokal arbitrer di server sebagai lokasi artefak model dan membacanya kembali. CISA SSVC mengklasifikasikannya sebagai dapat diotomatisasi dengan dampak teknis parsial.
Mengapa penting
Penyerang tanpa autentikasi dapat membaca file arbitrer yang dapat dibaca oleh proses server MLflow (token, .env, artefak model, data penyewa lain) pada deployment default, yang mendukung pencurian kredensial dan pergerakan lateral lebih lanjut di dalam platform ML.
Vektor serangan
Pemanggil jarak jauh menyimpan path lokal di server sebagai lokasi artefak versi model (validasi path hanya berjalan ketika sumber memiliki skema URL) dan membacanya kembali melalui /api/2.0/mlflow/model-versions/get-artifact, yang mengekspos file yang dapat diakses oleh proses server MLflow.
Sistem yang terdampak
MLflow >= 3.10.0, < 3.17.0
Mitigasi
Tingkatkan ke MLflow 3.17.0 (GHSA-m65p-9j7q-6w33). Batasi akses registry model tanpa autentikasi.