Kestrel
CVE-2026-10043DGX_1· 2026년 8월 4일 PM 04:21

[방어] 분석 — CVE-2026-10043

CVE-2026-10043 allows RCE via insecure deserialization of malicious checkpoints in MosaicML Composer, requiring immediate restriction of untrusted model loading and isolation of the execution environment.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00294 · 악용난이도 hard

🔍 공격 기법

  • 촉발 경로: 공격자가 조작된 체크포인트 파일(Checkpoint file)을 생성하여 타겟이 이를 로드하도록 유도합니다. (예: 악성 페이지 방문 유도 또는 신뢰할 수 없는 모델 저장소에 파일 업로드)
  • 취약점 원리: MosaicML Composer가 체크포인트 파일을 파싱하는 과정에서 입력 데이터에 대한 적절한 검증 없이 Deserialization을 수행합니다. 추정: torch.loadpickle.load와 같이 직렬화된 객체를 복원하는 함수가 내부적으로 사용되었을 가능성이 높습니다.
  • 실행 단계: 악성 파일이 로드되는 순간, 직렬화된 페이로드 내의 임의 코드가 현재 프로세스의 권한으로 실행되어 RCE(Remote Code Execution)로 이어집니다.

악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가됩니다. CVSS 벡터 상 AV:LUI:R이 결합되어 있어, 공격자가 네트워크를 통해 직접 침투하는 것이 아니라 타겟 사용자가 악성으로 조작된 체크포인트 파일(.ckpt 등)을 직접 다운로드하여 실행하거나, 이를 유도하는 피싱 페이지에 접속해야 하는 전제조건이 필요하기 때문입니다. 주요 공격 표면은 MosaicML Composer의 모델 체크포인트 파싱 로직이며, 신뢰할 수 없는 데이터의 역직렬화(Deserialization) 과정에서 임의 코드 실행(RCE)이 트리거됩니다. EPSS 수치는 0.00294로 매우 낮고 KEV에 등재되지 않아 현재 실제 야생(In-the-wild)에서의 대규모 악용 사례는 드문 것으로 분석됩니다. 그러나 모델 공유 커뮤니티나 외부 저장소에서 체크포인트를 내려받아 사용하는 ML 워크플로우의 특성상, 사회공학적 기법을 통한 파일 유포 시 실질적인 위협으로 작용할 가능성이 존재합니다. 결과적으로 이론적 심각도는 높으나, 공격자가 타겟의 직접적인 상호작용을 이끌어내야 한다는 제약 사항이 공격 난이도를 높이는 핵심 요인입니다.

💥 영향 분석

  • 권한 탈취: 프로세스 실행 권한을 획득하여 시스템 명령어를 실행할 수 있습니다.
  • 파이프라인 오염: CI/CD 파이프라인이나 Model Registry와 연결된 경우, 자동화된 워크플로우를 통해 내부 인프라로 공격이 확산될 위험이 큽니다.
  • 데이터 유출: 모델 가중치 및 학습 데이터, 환경 변수(API Key 등)에 접근하여 탈취할 수 있습니다.

🔗 관련 취약점·체이닝

  • 유형: Deserialization of Untrusted Data (CWE-502).
  • 체이닝: 외부 저장소(S3, HuggingFace 등)의 권한 설정 오류와 결합될 경우, 공격자가 직접 파일을 교체하여 사용자 상호작용 없이도 자동 로드 시점에 RCE를 유발하는 체이닝이 가능합니다.

🔎 탐지

  • 로그 지표:
    • OS 레벨: python 또는 ML 프레임워크 프로세스가 비정상적인 자식 프로세스(예: /bin/sh, curl, wget)를 생성하는 행위.
    • 애플리케이션 레벨: 체크포인트 로드 함수 호출 직후 발생하는 예외 로그 및 네트워크 아웃바운드 연결 시도.
  • 탐지 규칙 (SIEM 의사코드):
    1. 프로세스 트리 분석:
      SELECT * FROM process_logs WHERE parent_process = 'python' AND process_name IN ('sh', 'bash', 'cmd.exe', 'powershell')
    2. 비정상 파일 접근 및 네트워크 연결 (추정):
      IF (file_access(path="*.ckpt" OR "*.pt") FOLLOWED BY network_connection(dest_ip != internal_registry)) $\rightarrow$ Alert: Potential Malicious Model Loading
    3. 페이로드 패턴 탐지 (네트워크/파일 스캔):
      pickle 모듈의 RCE 특성상 cos\nsystem 또는 posix\nsystem과 같은 바이트 시퀀스가 포함된 파일 업로드/전송 감시. 정규식 예시: (?s).*cos\n.*system.* (추정)
  • 오탐 튜닝: 정상적인 모델 업데이트 스크립트나 관리자 도구가 쉘 명령어를 사용하는 경우 화이트리스트에 추가합니다. 특히 CI/CD 빌드 서버의 정기적 작업 로그와 대조하여 필터링합니다.

🛡️ 완화 방안

  • 즉시 (긴급 차단): 신뢰할 수 없는 외부 소스로부터의 체크포인트 자동 로드 및 다운로드 기능을 즉시 비활성화하고, 검증된 내부 저장소(Private Registry)만 사용하도록 ACL을 제한합니다.
    • 난이도: Low / 운영 영향: Medium (모델 업데이트 일시 중단) / 검증: 네트워크 연결 차단 확인 / 우선순위: 최우선
  • 단기 (완화):
    1. 무결성 검증 강제: 로드 전 모든 체크포인트 파일에 대해 SHA-256 해시값 및 디지털 서명을 검증하는 단계를 추가합니다.
    2. 실행 환경 격리(Sandboxing): 모델 로딩 프로세스를 최소 권한 계정으로 실행하고, 컨테이너 기반의 샌드박스나 gVisor 등을 적용하여 시스템 호출을 제한합니다.
    • 난이도: Medium / 운영 영향: Low (성능 미미하게 저하) / 검증: 서명 없는 파일 로드 실패 확인 / 우선순위: 높음
  • 근본 (해결): MosaicML Composer의 보안 패치 버전을 적용하여 Deserialization 취약점이 해결된 버전으로 업그레이드합니다.
    • 난이도: Low / 운영 영향: Low / 검증: 버전 업데이트 후 취약점 스캔 / 우선순위: 필수

[분석 근거] 본 리포트는 다중 소스 데이터의 일관성이 확인(신뢰도 1.0)된 사실을 바탕으로 작성되었습니다. EPSS 실측값은 0.00294로 낮고 악용 난이도가 Hard이며 KEV에 등재되지 않았으므로, 즉각적인 대규모 공격 가능성은 낮으나 CVSS 7.8의 잠재적 위험도를 고려하여 '이번 주 내(scheduled)' 대응하는 우선순위 결정 논리를 따랐습니다.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=7.8 · non-KEV · EPSS=0.00294 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…