Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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 추적, 탐지 지침, 완화 조치를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-52616 — mcp-nmap-server: run_nmap_scan을 통한 OS 명령어 주입

run_nmap_scan MCP 도구는 target 및 additionalFlags 매개변수를 문자열 보간으로 명령어를 구성한 뒤 child_process.exec, 즉 /bin/sh -c를 통해 실행합니다.

⚠ 먼저 읽어 주세요 — 중복 식별자

이 취약점은 이 CVE ID가 존재하기 전에 이미 공개되었습니다. 이는 VulDB가 할당하고 2026-03-03에 mcp-nmap-server <= 1.0.1을 대상으로 게시한 CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 에서 다루어졌습니다 — 동일한 패키지, 동일한 CWE-78 child_process.exec 싱크입니다.

CVE-2026-52616은 독립적인 보고에 대응하여 2026-07-13에 MITRE CNA-LR이 s1ko에게 할당한 것입니다. 해당 할당은 중복으로 보이며, 그렇게 표시되었습니다. 인용해야 하는 것은 기존 식별자인 CVE-2026-3484입니다.

이 저장소는 완전성을 위해 그리고 중복 사실을 문서화하기 위해 게시된 것이며, 새로운 발견을 주장하기 위한 것이 아닙니다. 최초 공개 공개에 대한 공로는 s1ko의 것이 아닙니다.

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 = 8.4 High (stdio 전송). 서버가 네트워크 전송으로 래핑된 경우 AV:N → 9.8 Critical.
독립 보고자s1ko (github.com/s1ko, [email protected])
CVE 할당일2026-07-13, MITRE CNA-LR

이 중복을 정리하려는 사람이라면 주목할 만한 명명 함정이 있습니다: npm 패키지는 mcp-nmap-server이고 저장소는 nmap-mcp-server입니다. 두 가지 순서는 동일한 프로젝트를 가리킵니다.

위협 모델

MCP 도구 인수는 공격자의 영향을 받습니다. 이들은 에이전트가 처리하는 콘텐츠 — 문서, 웹 페이지, 도구 출력 — 으로부터 LLM이 생성하므로, 간접 프롬프트 주입은 도구 핸들러가 받는 값에 대한 통제권을 공격자에게 부여합니다. 그러한 값 중 하나라도 셸로 전달하는 핸들러는 그 영향력을 MCP 서버를 실행하는 호스트에서의 코드 실행으로 바꿉니다. 이는 선례 사례인 aws-mcp-server / CVE-2026-5058과 동일한 모델입니다.

실행

dist/index.js — 대상이 명령어 문자열에 추가된 뒤 exec에 전달됩니다:

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 호출은 다음을 생성합니다:

/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입니다.

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

영향받는 버전에서 예상되는 결과:

==== 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 Command and Scripting Interpreter: 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.

타임라인

날짜사건
2026-03-03CVE-2026-3484 / GHSA-xc68-rrqc-qgq3, VulDB에 의해 게시됨 — 다른 신고자에 의한 최초의 공개 공개
2026-05-29게시된 tarball의 소스 검토를 통해 독립적으로 식별됨, 3월 권고를 인지하지 못한 상태
2026-06-01격리된 컨테이너에서 MCP stdio를 통해 동적으로 검증됨
2026-06-13제출 전 중복 제거 과정에서 중복 확인됨; 저장소가 아카이브되었고 Private Vulnerability Reporting을 사용할 수 없음이 확인됨. 내부 판정: 제출하지 않음
2026-07-13MITRE CNA-LR이 그럼에도 불구하고 CVE-2026-52616을 할당하며, s1ko를 발견자로 인정
2026-08-22이 글 게시, 중복 사례 문서화

참고 자료

  • 원본 권고 — 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 참조.

도구 다운로드