CVE-2026-1839, Hugging Face Transformers Trainer의 unsafe checkpoint loading 경로를 지적
Original: CVE-2026-1839 Arbitrary Code Execution in HuggingFace Transformers Trainer Class via Malicious Checkpoint https://t.co/fTSNN9Cvjy View original →
X post가 짚은 내용
2026년 4월 7일, Vulmon Vulnerability Feed는 X에서 CVE-2026-1839를 언급하며 Hugging Face Transformers의 Trainer checkpoint loading flow에 arbitrary code execution 문제가 있다고 알렸다. 포스트 자체는 짧지만, 연결된 CVE record와 fix commit은 핵심을 분명하게 보여준다. CVE.org에 따르면 취약 경로는 src/transformers/trainer.py의 Trainer._load_rng_state()에 있다.
문제의 본질은 단순하지만 중요하다. 해당 메서드가 torch.load()를 weights_only=True 없이 호출했다는 점이다. CVE record는 Transformers가 PyTorch 2.6 미만과 함께 사용될 때 주변의 safe_globals() context manager가 실질적인 보호를 제공하지 못한다고 설명한다. 그 결과 rng_state.pth 같은 malicious checkpoint artifact를 불러오는 순간 arbitrary code execution이 가능해질 수 있다. 이 record의 CNA는 Protect AI이며, 분류는 CWE-502, 즉 untrusted data의 deserialization이다.
영향 범위와 수정
CVE.org는 영향 범위를 v5.0.0rc3 이전의 huggingface/transformers로 적시한다. 공개된 CVSS score는 6.5 Medium이며, local attack vector와 user interaction이 필요하다. 즉 인터넷에서 자동 전파되는 종류의 bug는 아니다. 그렇다고 가볍게 볼 수도 없다. ML workflow에서는 checkpoint file이 experiments, repos, collaborators, model hubs, CI systems 사이를 계속 이동하기 때문이다. 팀이 직접 만들지 않은 artifact를 load한다면, “local” 역시 software supply chain 한가운데에 있다.
참조된 Hugging Face fix commit은 매우 직접적이다. patch는 safety check를 추가하고, 취약한 호출을 torch.load(rng_file, weights_only=True)로 바꾼다. diff는 작지만, 많은 팀이 그저 training plumbing으로 여기는 경로에서 실행 surface를 제거한다는 의미가 크다.
왜 중요한가
- 문제는 많은 개발자가 내부 로직처럼 여기는 Trainer checkpoint handling 안에 있다.
- exploit path가 malicious checkpoint artifact에 의존한다는 점은 실제 ML 협업 방식과 정확히 맞닿아 있다.
- 이번 fix는 checkpoint file과 trainer internals도 AI software supply chain의 일부라는 사실을 다시 보여준다.
더 큰 교훈은 ML infra가 새로운 이름으로 오래된 security 문제를 계속 받아들이고 있다는 점이다. unsafe deserialization 자체는 새로운 취약점 클래스가 아니다. 그러나 이번 사례는 그것이 widely used한 Transformers workflow 안에 들어와 있다는 데 의미가 있다. 이 X post가 high-signal인 이유도 여기에 있다. shared checkpoint를 사용하는 팀이라면 artifact trust policy와 dependency upgrade를 선택적 hardening이 아니라 기본적인 ML hygiene로 다뤄야 한다.
Sources: Vulmon X post · CVE record · Hugging Face fix commit
Related Articles
Hacker News의 Show HN에서 주목받은 GuppyLM은 60K 합성 대화 데이터와 단순한 transformer 구조로 LLM 학습 전 과정을 드러낸다. Colab과 브라우저에서 바로 실행할 수 있는 교육용 초소형 모델이라는 점이 핵심이다.
GitHub는 Dependabot alert를 Copilot, Claude, Codex 같은 AI coding agent에 직접 할당하는 기능을 공개했다. agent는 advisory와 repository usage를 분석해 draft PR을 만들고 test failure 해결까지 시도한다.
GitHub은 Dependabot alert를 Copilot, Claude, Codex 같은 AI coding agent에 할당할 수 있게 했다. Agent는 advisory와 dependency 사용 현황을 분석하고 draft PR을 열며 test failure를 해결하려 시도할 수 있지만, GitHub은 최종 검토는 사람이 해야 한다고 강조했다.
Comments (0)
No comments yet. Be the first to comment!