MCP 服务器套件的新安全更新修复了文件访问和网页请求处理中的 8 个漏洞。运行文件处理或网页资料获取服务器的开发者,可安装各组件的修复版本,减少超出允许范围的访问。
1. 三种服务器修复 8 个漏洞
根据 10月25日发布的发行说明,文件系统服务器修复了 4 个漏洞,Everything 修复了 1 个,Fetch 修复了 3 个。修复涉及文件操作、网页调用工具和请求外部资料等不同的访问路径。
这些修复的共同点是让通过检查的目标与实际操作目标一致。文件访问被限制在允许的目录内,网页请求则会检查来源和最终连接地址。
2. 将文件系统操作限制在允许的路径内
文件系统服务器修复了受检查目录与实际写入目标可能不一致的问题。符号链接是指向其他路径的链接。即使上级目录在访问检查与写入之间被替换为符号链接,写入、编辑、创建目录及移动操作的目标也不会指向允许区域之外。
路径检查时移除末尾引号或空格的行为也已纠正。现在,检查的路径与文件操作使用的路径一致,因此无法再通过给允许的目录名追加这些字符,绕过检查并访问同一上级文件夹中的同级目录。
在不区分大小写的存储设备上,创建新路径时,仅大小写不同的符号链接也曾可通过检查,此问题现已修复。发行说明以 macOS 默认环境为例,指出该问题始于 2026.8.31 版本。
显示文件列表和大小的功能也会先检查各项的访问权限。这项变更可防止通过允许区域内的符号链接泄露外部文件的大小和修改时间。
3. 网页请求重新检查来源和连接地址
Everything 的网页通信现已拒绝来自其他网页来源的请求。它会检查表示请求来源的 Origin,并停止返回允许所有来源的响应。这可阻止用户访问的网页调用服务器工具或读取结果。
Fetch 使地址检查使用的主机名与实际连接使用的名称保持一致。此前,国际化域名,即使用非 ASCII 字符的域名,在检查与连接时采用不同形式,可能被利用来访问内部地址,此问题现已修复。
此外,它会检查在 IPv6 地址中嵌入 IPv4 地址的 NAT64 地址中的 64:ff9b::/96 范围。如果嵌入地址指向私有网络、仅供内部使用的网络、自身或同一链路,则拒绝连接。这种方式不仅检查外层地址格式,也检查其中的实际目的地。
每次发生跳转到其他地址的重定向时,也会重新检查目标的 robots.txt。这修正了此前仅在最初请求的地址检查网站自动抓取访问规则的行为。
4. 日期版本用户需手动指定版本
文件操作与网页请求的允许边界得到强化,但使用日期版本的 TypeScript 服务器运营者需要手动指定修复版本进行安装。写入目标保护适用于 Linux 和 macOS,而 Windows 上仅修复了部分问题。
文件系统和 Everything 的修复版本为 2.0.1。TypeScript 服务器已从日期版本转向语义化版本,即用数字表示变更含义的版本规则。包管理器会将此修复版本视为低于现有日期版本,不会提示升级,因此需如下指定版本安装。
npm install @modelcontextprotocol/server-filesystem@2.0.1Fetch 的受影响范围为截至 2026.10.19 的版本,修复版本为 2026.10.24。与文件系统系列不同,Fetch 保留了日期格式,因此关键不是让三种服务器使用同一版本号,而是分别确认并应用各组件的修复版本。
修复这 8 个漏洞的关键在于逐一确认服务器版本,日期版本用户不应依赖自动更新,而应指定修复版本。
