[단독분석] 분석 — CVE-2026-15679
CVE-2026-15679 is a high‑severity deserialization flaw in Hugging Face PyTorch Image Models that enables remote code execution when a victim loads a malicious checkpoint, and the top mitigation is to block untrusted checkpoint loading and apply vendor patches immediately.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.0017 · 악용난이도 hard
🔍 공격 기법
- 악성 체크포인트 파일을 다운로드하거나 웹 페이지에 삽입된 URL을 통해 로드하도록 유도합니다.
- 해당 파일이
torch.load등으로 역직렬화될 때 검증이 없으므로 임의의 파이썬 객체가 실행됩니다. - 공격자는 프로세스 권한 내에서 명령을 수행할 수 있으며, 추가적인 악성 페이로드를 다운로드하거나 시스템 설정을 변경하는 단계로 이어질 수 있습니다.
- 사용자 상호작용(악성 페이지 방문 또는 파일 열기)이 전제 조건이며, 이 과정은 자동화된 스크립트에서도 재현 가능합니다.
악용 가능성: CVSS 벡터 AV:L/AC:L/PR:N/UI:R는 공격자가 로컬 환경(예: 모델을 로드하는 서버 또는 워크스테이션)에서 낮은 복잡도로 코드를 실행할 수 있지만, 성공하려면 사용자가 악성 체크포인트 파일을 열거나 해당 파일이 포함된 페이지를 방문해야 함을 의미합니다. 따라서 공격 난이도는 “hard”로 평가되며, 사용자 상호작용(UI:R)이 필수 조건이므로 무인 자동화 공격은 현실적으로 어려운 편입니다. EPSS = 0.0017이라는 실측 확률은 현재 관찰된 악용 사례가 거의 없으며, KEV에 등재되지 않은 점과 일치하여 이 취약점이 실제 위협으로 전환될 가능성이 매우 낮음을 뒷받침합니다. 공격 표면은 Hugging Face PyTorch Image Models 라이브러리에서 체크포인트를 파싱하는 코드 경로이며, 주로 torch.load 혹은 모델 로딩 API가 호출되는 엔드포인트·파라미터(예: 파일 경로, URL)에서 노출됩니다. 따라서 악용이 가능하려면 공격자는 해당 환경에 접근 가능한 네트워크 위치에 악성 체크포인트를 배치하고, 사용자를 설득해 이를 직접 로드하도록 유도해야 합니다. 이러한 조건을 모두 충족시키는 시나리오는 제한적이며, 실제 공격이 발생할 경우에도 피해 범위는 해당 프로세스와 그 권한 내에 국한됩니다.
💥 영향 분석
-
기술적 위험
- 임의 코드 실행(RCE) → 시스템 장악·루트 권한 상승 가능성
- 공격자가 모델 서빙 프로세스 내에서 파일 시스템 접근 및 네트워크 연결을 수행할 수 있음
- 추후 메모리‑덥핑, 크레덴셜 탈취 등 횡적 이동 경로가 열릴 수 있음
-
비즈니스 리스크
- 서비스 가용성 저하(머신러닝 파이프라인 중단)
- 민감 데이터(학습 데이터·예측 결과)의 유출 위험 → 규제/컴플라이언스 위반 가능성 (예: GDPR, 개인정보보호법)
- 신뢰 손실 및 브랜드 이미지 훼손
-
영향 제품·노출 규모
- 영향을 받는 정확한 제품 버전은 공개되지 않았지만, Hugging Face PyTorch Image Models 를 사용하는 모든 환경이 대상(추정: 연구·프로덕션 서버, 클라우드 노트북 등)
- 다중 소스에서 일관성이 확인됐으며(CVSS 7.8, CVE-2026-15679), 현재는 KEV에 등록되지 않아 악용 사례가 보고되지 않았음(EPSS = 0.0017, hard 등급).
🔗 관련 취약점·체이닝
- 동일한
pickle/torch.save기반 역직렬화 결함은 다른 머신러닝 프레임워크에서도 발견된 바 있음(CWE‑502). - 악성 체크포인트를 웹 API와 연동하여 서빙한다면, 인증 우회 취약점이나 인젝션 취약점과 체이닝될 가능성이 존재합니다(구체적인 CVE 번호는 확인되지 않음).
🔎 탐지
- 로그 기반:
torch.load호출 시 파일 경로와 해시값을 로깅하고, 비정상적인 원격 URL 로드 여부를 모니터링합니다. - 행위 기반: 프로세스가 새로운 네트워크 연결(특히 외부 IP)이나 예상치 못한 자식 프로세스를 생성할 경우 경보 발생.
- YARA 예시 (간단히 기술):
rule SuspiciousHFCheckpoint { strings: $p = "torch.save" nocase wide ascii } condition: $p and filename matches /.*\.pt$/ }
위와 같은 규칙은 비정상적인 경로에서.pt파일이 로드될 때 탐지에 활용할 수 있습니다.
🛡️ 완화 방안
-
즉시 조치
- 신뢰되지 않은 체크포인트 파일의 로드를 차단하고, 기존 모델 파일을 검증된 저장소(예: 내부 레지스트리)에서만 가져오도록 정책을 적용하십시오.
- 해당 라이브러리를 최신 버전으로 업데이트하고, 공급자가 제공한 보안 패치가 발표되면 즉시 적용합니다.
-
근본 해결
torch.load대신 안전한 역직렬화 함수(safe_load등) 사용을 검토하십시오.- 모델 서빙 환경을 격리된 컨테이너·샌드박스에서 실행하고, 최소 권한 원칙에 따라 프로세스 권한을 제한합니다.
- 정기적인 코드 및 의존성 스캔을 통해 유사한 역직렬화 취약점이 존재하는지 확인하십시오.
위 조치들은 다중 소스 교차검증 결과와 EPSS 0.0017(관측 악용 가능성이 낮음)에도 불구하고, CVSS 7.8·High 등급에 따라 이번 주 내 대응을 우선순위(scheduled)로 설정한 근거가 됩니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.0017 · exploit=hard · in_scope=None