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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-5029-Exploit | Kitploit
도구/GitHubGitHub/0x00phantom-hat/cve-2026-5029-exploit
Vulnerability ScannersCode AnalysisExploitationWeb SecurityPenetration TestingLearning & Education
GitHub0x00phantom-hat/cve-2026-5029-exploit

CVE-2026-5029-Exploit

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🔥 CVE-2026-5029 — Code Runner MCP 서버 RCE

run-code MCP 도구를 통한 인증 없는 원격 코드 실행

CVE CVSS Python Status License

CVE-2026-5029에 대한 개념 증명(PoC) 익스플로잇 — 서버가 --transport http로 실행될 때 run-code MCP 도구를 통해 트리거되는 Code Runner MCP Server의 치명적인 인증 없는 원격 코드 실행(RCE) 취약점입니다.


📋 취약점 개요

속성세부 정보
CVE IDCVE-2026-5029
CVSS 점수8.7 / 10 — 높음
CWECWE-306 — 중요 기능에 대한 인증 누락
영향받는 제품Code Runner MCP Server
영향받는 버전(패치되지 않음) --transport http를 통해 run-code 도구를 노출하는 모든 버전
인증필요 없음 (인증 없음)
패치 상태수정되지 않음
발견자Phantom Hat

🧠 기술 설명

Code Runner MCP Server는 --transport http 플래그로 실행될 때 포트 3088에서 JSON-RPC /mcp 엔드포인트를 노출합니다. 이 엔드포인트는 인증 없이 접근할 수 있습니다 — API 키, 세션 토큰, 출처(origin) 검사가 전혀 없습니다.

포트에 접근할 수 있는 인증되지 않은 원격 공격자는 run-code MCP 도구를 직접 호출할 수 있습니다. 이 도구는 임의의 소스 코드와 언어 식별자를 입력받아 임시 파일에 쓴 다음, 해당 인터프리터(bash, python, powershell 등 30개 이상)를 사용하여 child_process.exec()로 실행합니다.

code 매개변수에는 어떤 단계에서도 검증(샌니타이제이션)이 적용되지 않으므로, MCP 서버를 실행 중인 프로세스의 권한으로 완전한 인증 없는 원격 코드 실행이 발생합니다.

사례 연구

https://medium.com/@phantom_hat/cve-2026-5029-unpatched-case-study-unauthenticated-remote-code-execution-rce-66c7706f2320

공격 흐름

root@kitploit:~
┌──────────┐   JSON-RPC tools/call    ┌───────────────────────┐   exec()   ┌──────────┐
│ Attacker │ ──── run-code tool ─────▶│  /mcp  (port 3088)    │ ─────────▶ │   RCE    │
│          │    (no auth needed)      │  Code Runner MCP      │            │  on Host │
└──────────┘                          └───────────────────────┘            └──────────┘
  1. 정찰 — 노출된 /mcp 엔드포인트에 연결하여 사용 가능한 MCP 도구 열거
  2. 스키마 발견 — run-code 도구의 입력 스키마(code, languageId) 확인
  3. 익스플로잇 전달 — 공격자가 제어하는 code가 포함된 조작된 tools/call JSON-RPC 요청 전송
  4. 명령 실행 — 서버가 code를 임시 파일에 작성하고 선택한 인터프리터를 통해 실행

🗂️ 저장소 구조

root@kitploit:~
.
├── exploit.py           # 🎯 Interactive RCE exploit shell (Rich-based terminal UI)
└── README.md            # 📖 You are here

exploit.py — 대화형 익스플로잇

보안 평가 및 사례 연구에서 전문적으로 사용하도록 제작된 주요 익스플로잇 스크립트입니다. 대상 MCP 서버에 연결하여 대화형 셸로 전환되며, 취약한 run-code 도구를 통해 모든 명령이 실시간으로 실행됩니다.

기능은 다음과 같습니다:

  • Rich를 사용한 깔끔하고 구조화된 터미널 출력
  • 대화형 익스플로잇 셸 — 명령 입력과 출력 확인을 반복하며 스크립트를 다시 실행할 필요 없음
  • 언어 열거 — MCP 서버가 지원을 광고하는 모든 언어 나열
  • 설치 언어 탐지 — 대상 호스트에 실제로 존재하는 인터프리터 확인
  • -l을 통한 실행 언어 선택(기본값: shellscript)
  • 상세 작동 출력을 위한 상세(verbose) 모드

⚙️ 설치

사전 요구 사항

  • Python 3.8+
  • pip 패키지 관리자

설정

root@kitploit:~
# Clone the repository
git clone https://github.com/0x00phantom-hat/CVE-2026-5029-Exploit.git
cd CVE-2026-5029-RCE-Exploit

# Install dependencies
pip install fastmcp rich

🚀 사용법

root@kitploit:~
# Drop into an interactive RCE shell (default: shellscript)
python3 exploit.py -u http://TARGET:3088/mcp

# Use a specific language interpreter
python3 exploit.py -u http://TARGET:3088/mcp -l python

# List all languages the MCP server advertises support for
python3 exploit.py -u http://TARGET:3088/mcp --available

# Probe which language runtimes are actually installed on the target
python3 exploit.py -u http://TARGET:3088/mcp --installed -v

# Show the help menu
python3 exploit.py -h

연결되면 익스플로잇이 대화형 프롬프트로 전환됩니다:

root@kitploit:~
PhantomHat-MCP@Exploit-CVE-2026-5029 $ id

exit를 입력하면 세션이 종료됩니다.

명령줄 플래그


📸 익스플로잇 단계


🔗 참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-5029
  • CERT.PL 권고: https://cert.pl/en/posts/2026/05/CVE-2026-5029
  • 취약 프로젝트: https://github.com/formulahendry/mcp-server-code-runner
  • 취약 지점(Sink) (server.ts): https://github.com/formulahendry/mcp-server-code-runner/blob/main/src/server.ts

🛡️ 완화 조치

  • 네트워크에서 접근 가능한 인터페이스에서 --transport http를 실행하지 마십시오 — 기본 stdio 전송 방식을 사용하세요
  • HTTP 전송이 필요한 경우 엄격히 127.0.0.1에 바인딩하고 인증된 리버스 프록시 또는 VPN 뒤에 배치하세요
  • 호스트 또는 네트워크 수준에서 포트 3088을 방화벽으로 차단하세요
  • 서버를 최소 권한의 샌드박스 사용자로 또는 보안이 강화된 컨테이너 내부에서 실행하세요
  • 예상치 못한 run-code 호출과 비정상적인 자식 프로세스를 모니터링하세요

⚠️ 면책 조항

이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다.

컴퓨터 시스템에 대한 무단 접근은 미국 컴퓨터 사기 및 남용법(CFAA), 영국 컴퓨터 남용법(Computer Misuse Act) 및 전 세계의 유사 법률에 따라 불법입니다. 작성자는 이 소프트웨어의 오용에 대해 어떠한 책임도 지지 않습니다.

이 도구는 귀하가 소유하거나 테스트에 대한 명시적인 서면 승인을 받은 시스템에만 사용하십시오.


저자: Phantom Hat

승인된 침투 테스트 및 보안 연구 전용입니다.

도구 다운로드
플래그설명기본값
-u, --url(필수) MCP 서버 URL—
-l, --language코드 실행에 사용할 언어shellscript
-a, --available지원되는 모든 언어 나열플래그
-i, --installed대상에 설치된 언어 런타임 탐지플래그
-v, --verbose상세 출력 모드플래그
-h, --help도움말 메뉴 표시—
단계이름설명
1🔍 열거/mcp에 연결하고 사용 가능한 MCP 도구 열거
2🧪 스키마 발견run-code의 입력 스키마(code, languageId) 확인
3💣 익스플로잇 전달공격자가 제어하는 코드가 포함된 조작된 tools/call 요청 전송
4🚀 대화형 실행실시간 셸로 전환 — 모든 명령이 대상 호스트에서 실행됨