무슨 일이 있었나
mlflow/genai/scorers/base.py의 서드파티 스코어 역직렬화는 정확한 허용 모듈을 요구하는 대신 요청에서 선택된 THIRD_PARTY_SCORER_ALLOWED_MODULES의 하위 항목을 허용하므로, 호출자는 쓰기 가능한 허용 패키지에 악성 모듈을 배치하고 scorer/invoke 엔드포인트를 통해 이를 가져와 인스턴스화할 수 있습니다. 이는 이전 MLflow 스코어 SSRF(CVE-2026-115886)에 대한 별개의 더 심각한 후속 CVE로, SSRF에서 전체 코드 실행으로 확대됩니다(CVSS 9.8, CWE-94/CWE-470).
왜 중요한가
AI 배포의 경우 기본 구성에서 MLflow 모델 레지스트리/GenAI 평가 엔드포인트가 인증되지 않은 RCE 콘솔로 바뀝니다: 공격자는 모델, 평가, 추적을 호스팅하는 서버 프로세스에서 코드를 실행하고 주변 ML 플랫폼, 데이터 저장소 및 프로세스가 보유한 모든 클라우드 자격 증명으로 피벗할 수 있습니다.
공격 경로
호출자는 MLflow 아티팩트 엔드포인트를 사용하여 쓰기 가능한 허용 패키지 아래에 Python 모듈을 배치하고 해당 모듈/클래스를 /ajax-api/3.0/mlflow/scorer/invoke로 제출합니다; scorer model_validate_json은 추적 처리 전에 모듈을 가져와 클래스를 생성하여 서버의 권한으로 코드 실행을 유발합니다.
영향받는 시스템
MLflow >= 3.12.0rc0, < 3.17.0
완화 방안
MLflow 3.17.0으로 업그레이드하세요 (GHSA-26p8-2jq9-3vq9). 허용된 스코어 패키지를 쓰기 불가능한 위치로 제한하고 MLflow 서버에서 인증을 활성화하세요.