[분석가] 분석 — CVE-2026-10043
MosaicML Composer is vulnerable to RCE via insecure deserialization of checkpoint files, requiring the restriction of loading untrusted model checkpoints.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00294 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건:
MosaicML Composer가 체크포인트(Checkpoint) 파일을 파싱하는 과정에서 입력 데이터에 대한 적절한 검증 없이 역직렬화(Deserialization)를 수행할 때 발생합니다. - 공격 단계:
- 정찰 및 준비: 공격자가 임의의 코드 실행 페이로드가 포함된 악성 체크포인트 파일을 생성합니다.
- 초기 접근 (User Interaction): 타겟 사용자가 공격자가 제공한 악성 페이지를 방문하거나, 전송받은 악성 체크포인트 파일을 직접 열도록 유도합니다. (전제조건: 사용자 상호작용 필요)
- 실행:
MosaicML Composer가 해당 파일을 로드하여 역직렬화하는 순간, 페이로드가 현재 프로세스의 권한으로 실행됩니다. - 영향: 공격자는 시스템 내에서 임의 명령을 수행하며 제어권을 획득합니다.
- 공격 표면: 체크포인트 파일 파싱 모듈 및 해당 파일을 로드하는 인터페이스/함수.
- CVSS 벡터 분석:
AV:L(로컬 접근),AC:L(낮은 복잡도),PR:N(권한 불필요),UI:R(사용자 상호작용 필수). 즉, 네트워크를 통한 직접 침투보다는 사회공학적 기법을 통해 악성 파일을 실행하게 만드는 경로가 핵심입니다.
악용 가능성: 공격 난이도 및 악용 가능성 분석
본 취약점은 AV:L과 UI:R 벡터가 결합되어 있어, 공격자가 대상 시스템에 직접 접근하거나 사용자가 조작된 체크포인트 파일을 실행하도록 유도해야 하는 높은 진입 장벽(hard)을 가집니다. 공격 표면은 MosaicML Composer의 모델 체크포인트 파싱 과정이며, 신뢰할 수 없는 데이터가 역직렬화(Deserialization)되는 지점이 주요 트리거 조건입니다. 이론적인 RCE 위험에도 불구하고 EPSS 수치가 0.00294로 매우 낮고 KEV에 등재되지 않은 점은, 현재 야생(In-the-wild)에서 자동화된 대규모 공격이 관측되지 않았음을 시사합니다. 다만, AI 모델 공유 생태계의 특성상 악성 코드가 삽입된 가중치 파일을 배포하여 연구자나 개발자를 표적으로 삼는 정밀 타격형 공격(Spear Phishing)에는 취약할 수 있습니다. 따라서 네트워크를 통한 직접 침투보다는 사회 공학적 기법을 통해 조작된 파일이 내부 프로세스에서 로드될 때의 위험성이 핵심입니다.
💥 영향 분석
- 기술적 위험:
- 시스템 장악: 역직렬화 취약점을 통해 현재 프로세스 권한으로 임의 코드가 실행되므로, 공격자가 서버 또는 워크스테이션의 제어권을 완전히 획득할 수 있습니다.
- 데이터 유출 및 변조: 모델 가중치, 학습 데이터, 환경 설정 파일 등 민감 정보에 접근하거나 이를 수정할 수 있습니다.
- 비즈니스 영향:
- 모델 무결성 훼손: 학습 중인 모델이 오염될 경우 AI 서비스의 신뢰도가 급격히 하락합니다.
- 컴플라이언스 위반: 내부 데이터 유출 시 개인정보 보호법 및 기업 보안 규정 위반으로 인한 법적 리스크가 발생합니다.
🔗 관련 취약점·체이닝
- 유형/패턴:
Deserialization(CWE-502) 유형의 결함입니다. - 추정 체이닝: 공격자가 초기 접근을 위해 피싱이나 파일 공유 사이트를 이용하고, 이후 RCE를 통해 획득한 권한으로 내부망의 다른 자원을 탐색하는 '횡적 이동(Lateral Movement)'으로 이어질 가능성이 높습니다.
🔎 탐지
- 로그 지표: 체크포인트 로드 시 발생하는 예외 로그, 비정상적인 하위 프로세스 생성(
sh,bash,cmd.exe등) 로그, 예상치 못한 외부 IP로의 아웃바운드 연결 로그. - 탐지 규칙 예시:
- EDR/SIEM 로직:
ParentProcess == "composer_process" AND ChildProcess IN ("sh", "bash", "python", "curl", "wget") - 파일 분석 패턴 (추정): 체크포인트 파일 내에 Python의
pickle모듈에서 사용하는R(REDUCE) opcode나os.system,subprocess관련 문자열이 포함되어 있는지 검사하는 정규식 적용.- 예시:
(?i)(os\.system|subprocess\.Popen|eval|exec)\s*\(
- 예시:
- EDR/SIEM 로직:
- 오탐 시나리오 및 튜닝: 정상적인 모델 로드 과정에서 발생하는 라이브러리 호출을 오탐할 수 있습니다. 화이트리스트 기반의 신뢰할 수 있는 체크포인트 경로/해시값을 정의하여 필터링함으로써 오탐을 줄일 수 있습니다.
🛡️ 완화 방안
- 즉시 (긴급 차단):
- 조치: 출처가 불분명하거나 검증되지 않은 외부 체크포인트 파일의 로드를 전면 금지하고, 관련 파일 공유 경로를 차단합니다.
- 영향/검증: 운영 마찰이 높으나 즉각적인 위험 제거 가능.
ls또는 파일 시스템 모니터링으로 신규 파일 유입 확인.
- 단기 (완화):
- 조치: 체크포인트 파일을 로드하는 프로세스의 권한을 최소화(Least Privilege)하고, 샌드박스 환경이나 격리된 컨테이너에서 실행하여 영향 범위를 제한합니다.
- 영향/검증: 성능 저하가 일부 있을 수 있음.
whoami또는 프로세스 권한 확인 명령어로 검증.
- 근본 (해결):
- 조치: MosaicML Composer의 최신 보안 패치 버전을 적용하여 역직렬화 로직을 수정하거나, 안전한 직렬화 포맷(예: JSON, Safetensors)으로 전환합니다.
- 영향/검증: 가용성 영향 최소. 버전 업데이트 후 취약점 스캔 도구를 통해 CVE-2026-10043 해결 여부 확인.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS(0.00294) 및 CVSS 7.8 수치를 기반으로 작성되었습니다. EPSS 값이 매우 낮고 KEV에 등재되지 않았으며 공격 난이도가 'hard'로 평가됨에 따라, 즉시 대응보다는 이번 주 내 처리하는 scheduled 우선순위로 결정되었습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00294 · exploit=hard · in_scope=None