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

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

披露日期: 2026-04-08

漏洞信息

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

相关标签

XSSStored XSSWordPressWordPress PluginCVE-2026-3618BestWebSoft

漏洞概述

WordPress插件Columns by BestWebSoft在1.0.3及以下版本中存在存储型XSS漏洞。由于[print_clmns]短代码的'id'属性缺乏输入清理和输出转义,具有Contributor及以上权限的攻击者可注入恶意脚本。当用户访问包含该短代码的页面时,脚本将被执行,可能导致窃取凭证或恶意操作。

技术细节

该漏洞位于插件`columns-bws.php`文件中。在处理`[print_clmns]`短代码时,插件通过`shortcode_atts()`获取用户传入的'id'参数(第596行)。尽管SQL查询使用了`%d`占位符将参数强制转换为整数防止SQL注入,但在构建HTML输出(第731行)和内联CSS样式(第672-729行)时,代码直接使用了未经转义处理的原始`$id`字符串。攻击者需具备Contributor权限,并确保数据库中存在至少一个列记录(由Admin创建)以绕过查询条件。通过构造包含JavaScript代码的短代码属性,攻击者可将恶意载荷持久化存储,诱导访问者触发,从而实现跨站脚本攻击。

攻击链分析

STEP 1
侦察
攻击者确认目标站点使用了Columns by BestWebSoft插件且版本小于等于1.0.3。
STEP 2
获取访问权限
攻击者注册或获取一个具有Contributor(投稿者)及以上权限的账户。
STEP 3
漏洞利用
攻击者在新建或编辑文章时,插入包含恶意JS代码的[print_clmns]短代码,利用未过滤的id属性进行注入。
STEP 4
持久化
攻击者提交文章供管理员审核或直接发布(视权限而定),将恶意代码存储在数据库中。
STEP 5
触发攻击
当管理员或普通用户访问受感染的文章页面时,浏览器解析恶意脚本并执行攻击者定义的操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// WordPress Shortcode Payload for Stored XSS // Insert the following into a post/page content as a Contributor user. // Payload 1: Breaking out of the HTML attribute [print_clmns id="1\"><script>alert(document.cookie);</script>"] // Payload 2: Injecting via inline CSS style attribute [print_clmns id="1\" style=\"background-color:red;\" onmouseover=\"alert(1)\" x=\""]

影响范围

Columns by BestWebSoft <= 1.0.3

防御指南

临时缓解措施
建议立即将插件升级至修复版本。若无法升级,应暂时禁用该插件或限制Contributor用户的发布权限,直到应用补丁。同时,部署WAF(Web应用防火墙)规则以拦截针对短代码参数的常见XSS攻击载荷。

参考链接

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