CVE-2025-66305CVE-2025-66305是Grav CMS中的一个中等严重性拒绝服务漏洞。Grav是一个基于文件的Web内容管理平台。该漏洞存在于管理配置面板的系统配置页面(/admin/config/system)的Languages子菜单中。具体问题出现在Supported参数的值验证上,程序未能对用户输入进行充分的过滤和验证。攻击者(需要管理员权限)可以通过在该参数中插入格式错误的值(如单个正斜杠“/”或XSS测试字符串等特殊字符)来触发服务器端的正则表达式解析错误。由于系统使用了preg_match()函数处理这些未经验证的输入,构造不当的正则表达式会导致致命错误。该错误会导致应用程序崩溃,使得整个网站对所有用户完全不可用。此漏洞在版本1.8.0-beta.27中得到修复。
漏洞根源在于Grav CMS的Languages配置模块对Supported参数输入验证不足。当管理员在/admin/config/system页面的Languages配置中设置Supported参数时,系统使用preg_match()函数对该值进行正则表达式匹配验证。然而,由于缺乏对特殊字符的过滤处理,攻击者可以输入包含正则表达式元字符的值(如“/”或HTML标签等),导致正则表达式语法错误或匹配失败。preg_match()函数在遇到无效正则表达式时会返回false并产生E_WARNING级别错误。在生产环境中,这种错误会中断脚本执行,影响所有依赖该配置的页面加载。由于该配置影响系统级语言设置,错误会导致整个应用程序崩溃,用户无法访问任何页面。攻击成功需要攻击者拥有管理员权限访问配置面板,但无需任何用户交互。