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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-52616 — nmap MCP 서버의 OS 명령어 주입에 대한 권고 및 무해한 PoC, 중복 CVE 추적, 탐지 지침, 완화 조치를 포함합니다. | Kitploit
도구/GitHubGitHub/s1ko/cve-2026-52616
Vulnerability AnalysisExploitationNetwork SecurityAPI Security
GitHubs1ko/cve-2026-52616

CVE-2026-52616

nmap MCP 서버의 OS 명령어 주입에 대한 권고 및 무해한 PoC, 중복 CVE 추적, 탐지 지침, 완화 조치를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-52616 — mcp-nmap-server: run_nmap_scan을 통한 OS 커맨드 인젝션

run_nmap_scan MCP 도구는 target 및 additionalFlags 파라미터를 문자열 보간하여 명령어를 구성한 뒤 child_process.exec, 즉 /bin/sh -c를 통해 실행합니다.

⚠ 시작하기 전에 읽으세요 — 중복 식별자

이 취약점은 이 CVE ID가 존재하기 전에 이미 공개된 상태였습니다. 이 건은 CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 에 포함되어 있으며, VulDB가 지정하고 2026-03-03에 mcp-nmap-server <= 1.0.1에 대해 게시했습니다 — 동일한 패키지, 동일한 CWE-78 child_process.exec 싱크입니다.

CVE-2026-52616은 독립적인 보고에 대한 응답으로 2026-07-13에 MITRE CNA-LR이 s1ko에게 지정했습니다. 해당 지정은 중복으로 보이며, 그렇게 플래그가 지정되었습니다. 기존 식별자 CVE-2026-3484가 인용되어야 하는 식별자입니다.

이 저장소는 완전성과 중복 사례를 문서화하기 위해 게시된 것이며, 새로운 발견을 주장하는 것이 아닙니다. 최초 공개 공개에 대한 공로는 s1ko에게 있지 않습니다.

중복 제거를 수행하는 사람이라면 알아둘 만한 명명 함정이 있습니다: npm 패키지는 mcp-nmap-server이고 저장소는 nmap-mcp-server입니다. 두 순서는 동일한 프로젝트를 가리킵니다.

위협 모델

MCP 도구 인자는 공격자의 영향을 받습니다. 이 인자는 에이전트가 처리하는 콘텐츠 — 문서, 웹 페이지, 도구 출력 — 에서 LLM이 생성하므로, 간접 프롬프트 인젝션을 통해 공격자가 도구 핸들러가 수신하는 값을 제어할 수 있게 됩니다. 해당 값 중 하나라도 셸에 전달하는 핸들러는 그 영향을 MCP 서버가 실행되는 호스트에서의 코드 실행으로 바꿉니다. 이는 선례가 된 aws-mcp-server / CVE-2026-5058 사례와 동일한 모델입니다.

실행

dist/index.js — target이 명령 문자열에 추가된 후 exec에 전달됩니다:

root@kitploit:~
command += ` ${target}`;
…
const { stdout, stderr } = await promisify(exec)(command);

child_process.exec는 인자를 /bin/sh -c에서 실행하므로, 호출자가 기여한 모든 것이 셸 구문이 됩니다. Zod 입력 스키마는 z.string()을 선언하는데, 이는 타입만 검증할 뿐 콘텐츠에 대해서는 아무것도 말하지 않으므로 메타문자가 통과합니다. additionalFlags도 동일한 경로로 동일한 문자열에 도달합니다.

target이 127.0.0.1; touch /tmp/marker; echo INJECTED로 설정된 run_nmap_scan 호출은 다음을 생성합니다:

root@kitploit:~
/bin/sh -c "nmap … 127.0.0.1; touch /tmp/marker; echo INJECTED"

재현

poc/driver.mjs는 stdio를 통해 MCP를 사용합니다: 서버를 초기화하고, 인젝션된 target으로 run_nmap_scan에 대한 tools/call 하나를 실행한 뒤 마커 파일을 확인합니다. 페이로드는 무해한 touch입니다.

root@kitploit:~
npm pack [email protected]
tar xf mcp-nmap-server-1.0.1.tgz && cd package && npm install
node ../poc/driver.mjs

영향받는 버전에서 기대되는 출력:

root@kitploit:~
==== POC RESULT (mcp-nmap-server) ====
marker /tmp/PWNED_nmap created: true
verdict: CONFIRMED — command injection executed

nmap이 설치되어 있을 필요는 없습니다 — 인젝션된 명령어는 선행 바이너리가 해석되는지 여부와 무관하게 동일한 /bin/sh -c 문자열에서 실행됩니다. 2026-06-01에 격리된 컨테이너에서 검증했고 2026-06-13에 재검증했습니다. 테스트 권한이 있는 인프라에서만 실행하세요.

탐지

  • ;, &&, ||, |, 백틱 또는 $(를 포함하는 nmap 명령줄.
  • 명령줄이 nmap으로 시작하고 구분자 뒤에 두 번째 명령어가 포함된 sh -c 프로세스 — 애플리케이션 로깅에 의존하지 않는 프로세스 트리 신호(auditd, eBPF, Falco, EDR).
  • MCP 서버 프로세스의 예상치 못한 자식 프로세스. nmap은 정상이지만 셸, 인터프리터 또는 네트워크 클라이언트는 정상이 아닙니다.
  • target 또는 additionalFlags에 셸 메타문자가 포함된 MCP 도구 호출 로그. target은 IP, CIDR 또는 호스트 이름이어야 하며 그 외의 것은 아니어야 합니다.

MITRE ATT&CK T1059.004 커맨드 및 스크립팅 인터프리터: Unix Shell.

완화

저장소는 보관 처리되어 읽기 전용이고, npm 최신 버전은 영향을 받는 1.0.1이며, 패치된 릴리스는 게시되지 않을 것입니다. 제거가 완화책입니다:

  • 패키지 사용을 중단하세요. 유지 관리되지 않으며, 2026년 3월부터 공개적으로 취약하고, 수정될 예정이 없습니다.
  • 반드시 유지해야 한다면, 권한 없는 사용자로 컨테이너나 VM에서 실행하고, 환경에 자격 증명을 두지 말고, 스캔 범위를 넘어서는 네트워크 이그레스도 허용하지 말며, 네트워크 전송으로 노출하지 마세요.
  • 서버를 래핑하거나 포크하여 target을 IP/CIDR/호스트 이름 패턴으로 검증하고 additionalFlags가 명령 문자열에 도달하기 전에 허용 목록을 적용하세요.

포크하는 사람을 위한 수정 방법은 exec용 문자열을 만드는 대신 인자 벡터로 execFile("nmap", [...args])를 호출하는 것입니다. Zod 타입 검증만이 아닌 콘텐츠 검증이 근본적인 요구 사항입니다.

NIST SP 800-53r5 SI-10; OWASP ASVS v4 §5.3.8; CWE-78 완화책 M1 및 M2.

타임라인

참고 자료

  • 원본 권고 — https://github.com/advisories/GHSA-xc68-rrqc-qgq3
  • 원본 CVE — https://nvd.nist.gov/vuln/detail/CVE-2026-3484
  • npm 패키지 — https://www.npmjs.com/package/mcp-nmap-server
  • 저장소 (보관됨) — https://github.com/PhialsBasement/nmap-mcp-server
  • MCP 위협 모델의 선례 — CVE-2026-5058 (aws-mcp-server)

동일한 연구 과정에서 나온 동반 권고: CVE-2026-52617, CVE-2026-52618.

라이선스

MIT — LICENSE 참조.

도구 다운로드
CVECVE-2026-52616 — CVE-2026-3484의 중복
CWECWE-78 (OS 커맨드에 사용되는 특수 요소의 부적절한 중화)
패키지mcp-nmap-server (npm)
영향 범위1.0.1 및 이전 버전 — 게시된 모든 버전
수정 버전없음 — 저장소 보관 처리됨
CVSS v3.1AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 7.8 High (stdio 전송). 서버가 네트워크 전송으로 래핑된 경우 AV:N → 9.8 Critical.
독립 보고자s1ko (github.com/s1ko, [email protected])
CVE 지정2026-07-13, MITRE CNA-LR
날짜이벤트
2026-03-03CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 VulDB에 의해 게시 — 다른 보고자에 의한 최초 공개 공개
2026-05-293월 권고를 인지하지 못한 채, 게시된 tarball의 소스 검토를 통해 독립적으로 식별
2026-06-01격리된 컨테이너에서 MCP stdio를 통해 동적으로 검증
2026-06-13제출 전 중복 제거 과정에서 중복 식별; 저장소가 보관 처리되었고 Private Vulnerability Reporting을 사용할 수 없음이 확인됨. 내부 판정: 제출하지 않음
2026-07-13MITRE CNA-LR이 그럼에도 CVE-2026-52616을 지정하고 s1ko를 발견자로 기재
2026-08-22중복을 문서화한 본 보고서 게시