Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

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 跟踪、检测指南及缓解措施。

查看仓库
1天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-52616 — mcp-nmap-server:通过 run_nmap_scan 实现 OS 命令注入

run_nmap_scan MCP 工具通过对 target 和 additionalFlags 参数进行字符串插值来构建命令,并通过 child_process.exec(即 /bin/sh -c)执行。

⚠ 请先阅读 — 重复标识符

此漏洞在该 CVE 编号存在之前就已公开。 它由 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。

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

威胁模型

MCP 工具参数会受到攻击者的影响。它们由 LLM 根据代理处理的内容(文档、网页、工具输出)生成,因此间接提示注入使攻击者能够控制工具处理程序收到的值。任何将这些值之一送入 shell 的处理程序,都会把这种影响转化为在运行 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 中运行其参数,因此调用方贡献的一切都是 shell 语法。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 通信:它初始化服务器,对 run_nmap_scan 发起一次带有注入 target 的 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 是预期的;shell、解释器或网络客户端则不是。
  • MCP 工具调用日志中 target 或 additionalFlags 包含 shell 元字符。target 应匹配 IP、CIDR 或主机名,且仅此而已。

MITRE ATT&CK T1059.004 命令和脚本解释器:Unix Shell。

缓解措施

该仓库已归档且为只读状态,npm 上的 latest 就是受影响的 1.0.1,不会发布任何修补版本。缓解措施就是移除:

  • 停止使用该软件包。 它已无人维护,自 2026 年 3 月起公开存在漏洞,且不会得到修复。
  • 如果必须保留,请在容器或虚拟机中以非特权用户身份运行,环境中不包含任何凭据,网络出口仅限扫描范围,并且不要通过网络传输暴露它。
  • 包装或派生服务器,在 target 或 additionalFlags 到达命令字符串之前,对 target 进行 IP/CIDR/主机名模式验证,并对 additionalFlags 进行白名单过滤。

对于任何派生该项目的人来说,修复方法是使用参数向量调用 execFile("nmap", [...args]),而不是为 exec 构建字符串。底层要求是内容验证,而不仅仅是 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 高危(stdio 传输)。如果服务器包装在网络传输中,AV:N → 9.8 严重。
独立报告者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-29通过审查已发布 tarball 的源码独立发现,当时不知晓三月份的安全公告
2026-06-01在隔离容器中通过 MCP stdio 进行动态验证
2026-06-13在提交前去重过程中识别出重复项;确认仓库已归档,私有漏洞报告功能不可用。内部结论:不提交
2026-07-13MITRE CNA-LR 仍分配了 CVE-2026-52616,并将 s1ko 记为发现者
2026-08-22本文发布,记录该重复项