CVE-2026-5112WordPress的Gravity Forms插件在2.10.0及之前版本中存在未认证存储型跨站脚本(XSS)漏洞。该漏洞源于在Repeater字段内渲染Calculation Product字段的产品名称时,缺乏充分的输入验证和输出转义。GF_Field_Calculation类的validate()方法仅验证数量字段而忽略产品名称字段,允许恶意HTML绕过验证。未认证攻击者可通过表单提交注入任意Web脚本,当管理员访问条目详情时触发执行。
该漏洞的核心技术问题在于Gravity Forms插件对Calculation Product字段数据的处理逻辑存在缺陷。首先,在GF_Field_Calculation类的validate()验证阶段,系统仅针对表示数量的字段(.3)执行了校验,却完全忽略了表示产品名称的字段(.1),这使得攻击者可以在此字段中注入恶意的HTML或JavaScript代码而不会触发拦截。其次,在数据持久化过程中,sanitize_entry_value()方法错误地将这些非预期HTML字段的原始值直接返回,未进行任何安全清理。最后,也是最关键的一步,当拥有gravityforms_view_entries权限的管理员在后台查看表单提交的条目详情时,get_value_entry_detail()方法直接将未转义的产品名称拼接到HTML输出流中,并交由Repeater字段的同名方法渲染。由于缺乏上下文相关的输出转义,攻击者预先注入的脚本便在管理员会话中执行,窃取敏感信息或执行进一步操作。