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

CVE-2026-1806: WordPress TourCMS插件存储型XSS漏洞

披露日期: 2026-03-21

漏洞信息

漏洞编号
CVE-2026-1806
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tour & Activity Operator Plugin for TourCMS

相关标签

XSSStored XSSWordPressTourCMS PluginCVE-2026-1806

漏洞概述

WordPress的Tour & Activity Operator Plugin插件在所有版本(包括1.7.0及以下)中存在存储型跨站脚本(XSS)漏洞。该漏洞源于`tourcms_doc_link`短代码中的`target`参数缺乏足够的输入清理和输出转义。拥有Contributor(投稿者)级别及以上权限的经过身份验证的攻击者可以利用此漏洞,在页面中注入任意Web脚本。一旦普通用户访问被注入的页面,恶意脚本将在其浏览器中执行,可能导致窃取会话Cookie或重定向等攻击。

技术细节

该漏洞位于WordPress插件“Tour & Activity Operator Plugin for TourCMS”的核心功能代码中。具体而言,插件提供了一个名为`tourcms_doc_link`的短代码(Shortcode),用于生成文档链接。在处理该短代码的`target`参数时,开发人员未对用户输入的数据进行严格的输入验证和安全过滤,也未在输出时进行适当的HTML实体转义。由于WordPress允许投稿者级别(Contributor)的用户发布包含短代码的内容,攻击者可以构造包含恶意JavaScript代码的`target`参数值(例如`target=" onmouseover="alert(1)`)。当包含该短代码的文章被保存时,恶意载荷会持久化存储在WordPress数据库中。随后,当任何用户(包括管理员)访问该文章页面时,插件会解析短代码并将未经转义的`target`参数直接输出到HTML属性中。这导致浏览器将其解析为可执行的JavaScript代码,从而触发存储型XSS攻击。攻击者可利用此漏洞提升权限或进行进一步的内网渗透。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取一个具有Contributor(投稿者)或更高权限的WordPress账户。
STEP 2
2. 注入载荷
攻击者在编辑文章或页面时,插入包含恶意JavaScript代码的`tourcms_doc_link`短代码,利用`target`参数进行注入。
STEP 3
3. 持久化存储
文章被提交或发布后,恶意载荷被存储在WordPress数据库中。
STEP 4
4. 触发漏洞
当管理员或其他用户访问被篡改的页面时,插件渲染短代码,由于缺乏转义,恶意脚本在受害者的浏览器上下文中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for Stored XSS in tourcms_doc_link shortcode --> <!-- Attacker (Contributor role) creates a new post with the following content in the editor --> [tourcms_doc_link target=" onmouseover=alert(document.cookie) "] <!-- Alternatively, breaking out of the attribute --> [tourcms_doc_link target=""><script>alert('XSS')</script>"]

影响范围

Tour & Activity Operator Plugin for TourCMS <= 1.7.0

防御指南

临时缓解措施
如果暂时无法升级插件,建议通过WAF(Web应用防火墙)拦截针对`tourcms_doc_link`参数的常见XSS攻击模式,或者暂时禁用该插件功能。同时,应加强对网站管理员的钓鱼防范意识培训。

参考链接

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