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

CVE-2026-3361 WP Store Locator存储型XSS漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-3361
漏洞类型
Stored Cross-Site Scripting (存储型跨站脚本)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WP Store Locator Plugin for WordPress

相关标签

Stored XSSWordPressWP Store LocatorCWE-79Authentication Required

漏洞概述

WordPress的WP Store Locator插件在2.2.261及更早版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件对'wpsl_address'帖子元数据的输入清理不足和输出转义缺失。拥有投稿人及以上权限的认证攻击者可利用此缺陷,在页面中注入任意Web脚本。当用户访问包含注入内容的页面并打开地图标记信息窗口时,恶意脚本将自动执行。此漏洞允许攻击者窃取敏感信息、劫持会话或执行其他恶意操作,对网站安全性构成中等风险。

技术细节

该漏洞的根源在于WP Store Locator插件未对'wpsl_address'参数进行充分的安全过滤。在WordPress生态中,插件通常通过post meta存储额外数据。攻击者需首先注册并获得网站的投稿人(Contributor)或更高权限账户。随后,攻击者在发布或编辑内容时,将恶意JavaScript代码注入到'wpsl_address'字段中。由于后端缺乏输入验证,该恶意载荷被持久化存储在数据库中。漏洞触发发生在前端渲染阶段。当普通访客或管理员浏览包含被篡改地址的页面,并与地图标记交互(如点击查看详情)时,插件会直接调用并显示未经过HTML实体转义的地址信息。这导致浏览器将恶意代码作为有效HTML/JS解析并执行。由于属于存储型XSS,该攻击具有持久性,且攻击者可利用此漏洞提升权限或进行钓鱼攻击。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取一个具有投稿人(Contributor)及以上权限的WordPress账户。
STEP 2
2. 注入Payload
攻击者编辑文章或商店位置,在'wpsl_address'字段中输入包含恶意JavaScript代码的数据(如<img src=x onerror=alert(1)>)。
STEP 3
3. 数据存储
由于插件未对输入数据进行适当的清理和转义,恶意代码被保存到数据库的post_meta表中。
STEP 4
4. 触发漏洞
当普通用户或管理员访问前台页面,并点击地图上的标记以查看地址信息窗口时,存储的恶意脚本在受害者浏览器中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-3361 (Stored XSS via wpsl_address) This payload demonstrates script injection into the address field. --> <script> // Malicious payload to be injected into the 'wpsl_address' meta field // This executes when the map marker info window is rendered var payload = '"><img src=x onerror=alert(1)>'; console.log("Injecting payload into wpsl_address: " + payload); // In a real attack scenario, this would be sent via a POST request to // wp-admin/post.php or admin-ajax.php to save the post meta. </script>

影响范围

WP Store Locator <= 2.2.261

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用WP Store Locator插件。同时,网站管理员应审查所有由投稿人及以上权限用户创建或修改的内容,特别是包含自定义地址字段的数据,以清除可能存在的恶意脚本。

参考链接

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