🇰🇷 한글 설명
MLflow 3.17.1 및 이전 버전의 FileStore 트래킹 백엔드에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 인증되지 않은 공격자가 조작된 trace ID를 포함한 POST 요청을 통해 서버의 의도하지 않은 파일 시스템 경로에 파일을 작성할 수 있습니다.
💡 쉬운 설명
해커가 특수한 코드가 담긴 요청을 보내서 서버의 허용되지 않은 폴더에 파일을 마음대로 만들 수 있는 보안 약점입니다. 이를 통해 서버의 중요한 설정 파일을 덮어쓰거나 시스템을 망가뜨릴 위험이 있습니다.
🇺🇸 원문 (English)
MLflow 3.17.1 and earlier contains a path traversal vulnerability in the FileStore tracking backend that allows unauthenticated attackers to control filesystem paths by submitting a crafted trace ID containing traversal sequences to the POST /api/3.0/mlflow/traces endpoint. Attackers can exploit FileStore.start_trace() to write trace_info.yaml, request_metadata, and tag files with attacker-controlled metadata outside the intended experiment trace directory, subject to the server process's filesystem permissions. FileStore is the default tracking backend before MLflow 3.7.0 and opt-in thereafter (the default changed to a SQLite database), so deployments in the earlier part of the affected range are vulnerable without special configuration while later ones are affected only when FileStore is explicitly selected.
📍 영향받는 시스템
MLflow 3.17.1 및 이전 버전 (FileStore를 사용하는 경우)
⚔️ 공격 벡터
POST /api/3.0/mlflow/traces 엔드포인트에 경로 탐색 시퀀스가 포함된 trace ID를 전송
🛡️ 대응 방법
MLflow를 최신 버전으로 업데이트하거나, FileStore 대신 SQLite와 같은 다른 트래킹 백엔드를 사용하도록 설정하십시오.
🔧 검증 코드
출력된 버전이 3.17.1 이하인지 확인하여 취약 여부를 판단합니다.
pip show mlflow | grep Version