CVE-2026-22661prompts.chat在commit 0f8d4c3之前的版本存在严重的路径遍历漏洞。该漏洞源于技能文件处理过程中缺乏对文件名的充分验证。攻击者可以通过构造包含恶意路径遍历序列(如../)的ZIP压缩包,绕过服务器端的安全检查。当受害者解压这些恶意文件时,攻击者能够将文件写入到系统预期的目录之外,甚至覆盖Shell初始化文件,从而在客户端系统上执行任意代码。该漏洞攻击向量为网络,无需身份认证,但需要用户交互,对系统的机密性和完整性造成严重影响。
该漏洞的核心原理在于应用在处理ZIP归档中的技能文件时,未对压缩包内文件的文件名进行严格的路径规范化校验。在ZIP文件格式中,文件名字段是可控的,攻击者可以构造包含“../”或绝对路径的文件名。利用流程如下:攻击者首先创建一个特制的ZIP文件,其中包含的文件名被修改为指向系统敏感目录(如用户主目录)的相对路径(例如 ../../../.bashrc)。当用户通过受影响的prompts.chat工具加载并解压该技能包时,程序会直接使用压缩包中未经过滤的文件名进行写入操作。由于缺少目录限制检查,文件被成功写入到父级目录或其他系统位置。更为严重的是,攻击者可以覆盖Shell配置文件(如 .bashrc, .zshrc)。一旦这些文件被覆盖并包含恶意命令,当用户下次启动Shell终端时,恶意命令将自动执行。这导致攻击者无需直接接触目标系统,仅通过诱骗用户加载恶意技能包即可获得代码执行权限,实现从路径遍历到远程代码执行(RCE)的攻击链转换。