CVE-2025-66689Zen MCP Server 9.8.2之前版本存在严重的路径遍历漏洞,攻击者通过利用is_dangerous_path()验证函数中的缺陷逻辑,可以绕过安全限制读取服务器上的任意文件。该漏洞的核心问题在于验证函数采用精确字符串匹配方式对系统目录黑名单进行检查,攻击者可以通过访问黑名单路径的子目录来规避安全限制。由于该漏洞需要身份验证才能利用,但所需权限较低,因此低权限用户即可利用此漏洞获取系统敏感信息,包括配置文件、密钥、用户凭证以及其他系统文件。此漏洞的成功利用可能导致严重的机密性信息泄露风险,攻击者可进一步利用获取的敏感信息进行横向移动或提权攻击。建议受影响的用户尽快升级至9.8.2或更高版本以修复此安全问题。
该漏洞的根本原因在于is_dangerous_path()函数的安全检查机制存在设计缺陷。函数使用精确字符串匹配(exact string matching)来验证请求的路径是否为危险路径,这种方法存在明显的安全漏洞。攻击者可以通过构造特殊的路径字符串来绕过黑名单检查,例如使用黑名单路径的子目录形式进行访问。函数仅检查路径是否完全匹配黑名单中的条目,而没有对路径进行规范化处理或递归检查。当攻击者请求类似/etc/passwd的路径时,如果黑名单仅包含父目录路径,攻击者仍可通过遍历子目录的方式访问目标文件。攻击者通常会使用..等目录遍历序列配合精心构造的路径来访问系统文件。由于验证逻辑的缺陷,服务器无法正确识别和阻止这类恶意请求,导致任意文件读取漏洞的发生。