CVE-2026-33171Statamic 是一个基于 Laravel 和 Git 驱动的内容管理系统(CMS)。在 5.73.14 和 6.7.0 版本之前,存在一处安全漏洞,允许经过身份验证的控制面板用户通过操作字段类型端点中文件字典的 `filename` 配置参数,从服务器读取任意 `.json`、`.yaml` 和 `.csv` 文件。该漏洞可能导致敏感配置信息泄露,已在 5.73.14 和 6.7.0 版本中修复。
该漏洞的成因在于 Statamic CMS 在处理字段类型端点请求时,对用户输入的 `filename` 配置参数缺乏严格的路径校验和过滤。由于 Statamic 基于 Laravel 框架构建,其部分字段类型功能允许用户指定文件路径以读取数据。攻击者首先需要获取一个具有控制面板访问权限的低权限账户。随后,利用该漏洞,攻击者可以在发送给字段类型端点的请求中,构造恶意的 `filename` 参数值,通过插入路径遍历序列(如 `../`)跳出预期的目录限制。尽管系统限制了文件后缀仅为 `.json`、`.yaml` 和 `.csv`,攻击者仍可利用此限制读取应用程序的配置文件(如 `.env` 的备份转换文件)、用户数据文件或其他敏感结构化数据。这种未经授权的文件读取行为可能导致数据库凭据泄露、API 密钥暴露,为进一步的渗透攻击提供关键信息。