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
漏洞分析漏洞利用网络安全API 安全
GitHubs1ko/cve-2026-52616

CVE-2026-52616

针对 nmap MCP 服务器中 OS 命令注入的安全公告与良性 PoC,包含重复 CVE 跟踪、检测指南及缓解措施。

查看仓库
261个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-52616 — mcp-nmap-server:通过 run_nmap_scan 进行操作系统命令注入

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 由 MITRE CNA-LR 于 2026-07-13 根据一份独立报告分配给 s1ko。该分配似乎是一个重复项,并已被标记为重复。应引用的是先前已存在的标识符 CVE-2026-3484。

本仓库的发布是为了完整性并记录该重复项,并非声称这是新发现。原始公开披露的功劳不属于 s1ko。

CVECVE-2026-52616 — CVE-2026-3484 的重复项
CWECWE-78(操作系统命令中特殊元素的不当中和)
软件包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 高危(stdio 传输)。若服务器被包装为网络传输,则 AV:N → 9.8 严重。
独立报告者s1ko(github.com/s1ko,[email protected])
CVE 分配日期2026-07-13,MITRE CNA-LR

对于任何要对本漏洞进行去重的人,有一个值得注意的命名陷阱:npm 包名为 mcp-nmap-server,而仓库名为 nmap-mcp-server。这两种顺序指的是同一个项目。

威胁模型

MCP 工具参数受攻击者影响。这些参数由 LLM 根据智能体处理的内容(文档、网页、工具输出)生成,因此间接提示注入可使攻击者控制工具处理程序接收到的值。若处理程序将其中任何值传入 shell,就会将这种影响转化为在运行 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 中运行其参数,因此调用方贡献的所有内容都是 shell 语法。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 通信:它初始化服务器,针对 run_nmap_scan 发起一次 tools/call,并注入一个 target,然后检查标记文件是否存在。该载荷是一个无害的 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 是预期内的;shell、解释器或网络客户端则不是。
  • MCP 工具调用日志中 target 或 additionalFlags 包含 shell 元字符。target 应仅匹配 IP、CIDR 或主机名,不应包含其他内容。

MITRE ATT&CK T1059.004 Command and Scripting Interpreter: Unix Shell。

缓解措施

该仓库已归档且为只读,npm 最新版本为受影响的 1.0.1,且不会发布修复版本。移除是缓解措施:

  • 停止使用该包。 它已无人维护,自 2026 年 3 月起公开存在漏洞,且不会被修复。
  • 如果必须保留,请以非特权用户在容器或虚拟机中运行,环境中不包含任何凭据,且除扫描范围外无网络出口,并且不要通过网络传输暴露它。
  • 包装或 fork 该服务器,在 target 和 additionalFlags 进入命令字符串之前,根据 IP/CIDR/主机名模式验证 target,并对 additionalFlags 进行允许列表校验。

对于任何 fork 它的人,修复方法是使用参数向量调用 execFile("nmap", [...args]),而不是为 exec 构建字符串。内容验证,而不仅仅是 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在提交前去重过程中识别为重复项;确认仓库已归档且私有漏洞报告不可用。内部结论:不予提交
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。

下载工具