[공격] 분석 — CVE-2026-24157
A high-severity deserialization vulnerability in NVIDIA NeMo Framework's checkpoint loading allows RCE, requiring immediate restriction of untrusted model file imports and scheduled patching.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00654 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: NVIDIA NeMo Framework에서 모델 체크포인트(.ckpt, .nemo 등) 파일을 로드하는 과정 중, 신뢰할 수 없는 직렬화된 데이터가 역직렬화(Deserialization)될 때 발생함.
(2) 공격 단계:
- 정찰: 타겟 시스템이 NVIDIA NeMo를 사용하여 모델을 학습/추론하고 있는지 확인 및 사용 중인 체크포인트 저장소 위치 파악.
- 초기 접근: 공격자가 조작된 악성 체크포인트 파일을 대상 서버의 파일 시스템에 업로드하거나, 외부 URL을 통해 로드하도록 유도 (전제: AV:L이므로 로컬 파일 접근 권한 또는 파일을 업로드할 수 있는 경로 필요).
- 실행 및 권한 획득:
checkpoint loading함수가 호출될 때, 역직렬화 과정에서 임의의 Python 객체가 생성되며 OS 명령어가 실행됨. (지표: 비정상적인 자식 프로세스 생성, 예:python$\rightarrow$/bin/sh). - 지속 및 영향: 획득한 권한으로 백도어 설치 또는 내부망 정찰 수행.
(3) 공격 표면:
- 엔드포인트/함수: 체크포인트 로딩 관련 API 및 함수 (추정:
nemo.core내의 모델 로더). - 파라미터: 모델 파일 경로를 지정하는 인자 또는 설정 파일의
model_path.
(4) CVSS 벡터 분석 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H):
- AV:L (Local): 네트워크를 통한 직접 공격보다는 로컬 파일 시스템에 접근 가능하거나, 파일을 업로드할 수 있는 다른 취약점과 체이닝되어야 함.
- PR:L (Low Privilege): 낮은 수준의 사용자 권한만으로도 모델 로드 기능을 실행할 수 있다면 트리거 가능.
- AC:L / UI:N: 일단 파일이 배치되면 특별한 사용자 상호작용 없이 자동 실행됨.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 공격자가 이미 시스템에 낮은 권한의 계정으로 접근해 있거나, 로컬 파일 시스템에 제어권을 가진 상태여야 하므로 초기 진입 장벽이 높습니다. 하지만 일단 내부 진입에 성공했다면 AC:L과 UI:N 특성상 사용자 상호작용 없이 체크포인트 파일을 로드하는 과정에서 즉각적인 RCE가 가능하므로, 권한 상승(Privilege Escalation) 및 횡적 이동(Lateral Movement)의 핵심 교두보로 악용될 가능성이 큽니다. EPSS 수치가 0.00654로 낮고 KEV에 등재되지 않은 점은 현재 야생에서 자동화된 대규모 공격이 빈번하지 않음을 시사하지만, 이는 타겟팅된 고도화 공격(Targeted Attack) 환경에서는 오히려 탐지 가능성을 낮추는 요소가 됩니다. 주요 공격 표면은 NVIDIA NeMo Framework의 모델 체크포인트 로딩 함수 및 관련 파라미터이며, 특히 신뢰할 수 없는 외부 소스에서 가져온 .ckpt 또는 유사한 직렬화 파일이 입력값으로 들어가는 지점이 트리거 포인트입니다. 결과적으로 이 취약점은 단독 침투보다는 '초기 접근(Initial Access) $\rightarrow$ 악성 체크포인트 업로드/배치 $\rightarrow$ 모델 로드 유도 $\rightarrow$ RCE 및 권한 획득'으로 이어지는 공격 체인의 결정적 단계로 작동할 확률이 매우 높습니다.
💥 영향 분석
(1) 기술적 위험:
- RCE (Remote Code Execution): 공격자가 시스템 명령어를 임의로 실행하여 서버 전체 제어권 획득.
- 권한 상승 및 데이터 변조: 모델 가중치 수정, 학습 데이터 탈취, 시스템 설정 변경 가능.
(2) 비즈니스 영향:
- AI 모델 지적 재산권 유출: 고비용으로 학습된 모델 파라미터 및 아키텍처 유출.
- 서비스 신뢰도 하락: 모델 변조를 통한 추론 결과 왜곡(Poisoning) 가능성.
🔗 관련 취약점·체이닝
- 체이닝 경로 (추정):
File Upload Vulnerability$\rightarrow$CVE-2026-24157 (Deserialization)$\rightarrow$RCE. - 원리: AV:L 제약을 극복하기 위해, 웹 관리 페이지의 파일 업로드 취약점이나 SSH/FTP 접근 권한을 먼저 획득한 후 악성 체크포인트를 배치하는 경로가 유력함.
- 유형 수준 체이닝 (추정):
Insecure Deserialization$\rightarrow$Privilege Escalation. 모델 로딩 프로세스가 root 또는 고권한 계정으로 실행될 경우, 즉시 시스템 최고 권한 획득으로 이어짐.
🔎 탐지
(1) 로그 지표:
- 시스템 로그: Python 프로세스에서 발생하는 비정상적인 shell 실행 기록 (
/bin/sh,/bin/bash,cmd.exe). - 파일 로그: 알려지지 않은 출처의
.nemo또는.ckpt파일 생성 및 접근 기록.
(2) 탐지 규칙 예시:
- SIEM (Process Monitoring):
parent_process == "python" AND process_name IN ("sh", "bash", "powershell") - IDS/IPS (File Transfer):
.nemo,.ckpt확장자 파일 전송 시 페이로드 내에os.system,subprocess,pickle.load관련 바이트 패턴 탐지.
(3) 오탐 및 튜닝: 정기적인 모델 업데이트나 관리자의 수동 로드 작업으로 인한 오탐 가능성 있음. 특정 신뢰 경로(/opt/models/) 외의 경로에서 발생하는 로딩 프로세스를 집중 모니터링하여 튜닝.
🛡️ 완화 방안
- 즉시(긴급 차단): 외부에서 제공받은 검증되지 않은 모델 체크포인트 파일의 로드 금지 및 업로드 경로 ACL 제한. (난이도: 하 / 영향: 낮음 / 검증: 파일 시스템 접근 로그 확인)
- 단기(완화): 모델 로딩 프로세스를 최소 권한 계정(Non-privileged user)으로 격리 실행하여 RCE 발생 시 피해 범위 축소. (난이도: 중 / 영향: 중간 / 검증:
ps -ef권한 확인) - 근본(해결): NVIDIA NeMo Framework의 최신 보안 패치 버전으로 업그레이드. (난이도: 중 / 영향: 낮음 / 검증: 버전 확인 및 취약점 스캔 재수행)
[파이프라인 근거] 본 분석은 다중 소스 데이터 일관성이 확인된(신뢰도 1.0) 사실을 기반으로 하며, 실측 EPSS 값(0.00654, 백분위 0.47585)과 AV:L 벡터를 근거로 실제 악용 난이도를 hard로 평가하였습니다. 이에 따라 즉각적인 대응보다는 이번 주 내 패치를 적용하는 scheduled 우선순위로 결정되었습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00654 · exploit=hard · in_scope=None