Apa yang terjadi
Deserialisasi scorer pihak ketiga di mlflow/genai/scorers/base.py menerima turunan yang dipilih oleh permintaan dari THIRD_PARTY_SCORER_ALLOWED_MODULES alih-alih mensyaratkan modul yang diizinkan secara persis, sehingga pemanggil dapat menempatkan modul berbahaya dalam paket yang diizinkan dan dapat ditulis, lalu modul tersebut diimpor dan diinstansiasi melalui endpoint scorer/invoke. Ini adalah CVE lanjutan yang berbeda dan lebih parah dari SSRF scorer MLflow sebelumnya (CVE-2026-115886), yang meningkat dari SSRF menjadi eksekusi kode penuh (CVSS 9.8, CWE-94/CWE-470).
Mengapa penting
Untuk deployment AI, ini mengubah endpoint model-registry/GenAI-evaluate MLflow menjadi konsol RCE tanpa autentikasi dalam konfigurasi default: penyerang dapat mengeksekusi kode dalam proses server yang menghosting model, eval, dan jejak, serta berpindah ke platform ML sekitarnya, datastore, dan kredensial cloud apa pun yang dimiliki proses tersebut.
Vektor serangan
Pemanggil menggunakan endpoint artefak MLflow untuk menempatkan modul Python di bawah paket yang diizinkan dan dapat ditulis, lalu mengirimkan modul/kelas tersebut melalui /ajax-api/3.0/mlflow/scorer/invoke; scorer model_validate_json mengimpor modul dan membangun kelas tersebut sebelum pemrosesan jejak, menghasilkan eksekusi kode dengan hak istimewa server.
Sistem yang terdampak
MLflow >= 3.12.0rc0, < 3.17.0
Mitigasi
Tingkatkan ke MLflow 3.17.0 (GHSA-26p8-2jq9-3vq9). Batasi paket scorer yang diizinkan ke lokasi yang tidak dapat ditulis dan aktifkan autentikasi pada server MLflow.