CVE-2025-11227CVE-2025-11227是WordPress流行捐赠插件GiveWP(Donation Plugin and Fundraising Platform)中存在的一个信息泄露漏洞。该漏洞由Wordfence安全团队的研究员发现,并于2025年10月4日公开披露。GiveWP是WordPress生态系统中使用最广泛的在线捐赠和筹款插件之一,安装量超过10万次,被众多非营利组织、慈善机构和个人创作者用于接收在线捐款。
该漏洞存在于GiveWP插件的REST API路由处理逻辑中,具体涉及'registerGetForm'、'registerGetForms'、'registerGetCampaign'和'registerGetCampaigns'四个函数。这些函数在处理API请求时缺少必要的权限检查(capability check),导致未经认证的攻击者可以直接访问这些API端点,获取本应受保护的敏感数据。受影响的数据范围包括私有的捐赠表单(private donation forms)、草稿状态的捐赠表单(draft donation forms)以及已归档的筹款活动(archived campaigns)。
根据CVSS 3.1评分标准,该漏洞评分为6.5分,属于中等严重级别。攻击者无需任何认证即可通过网络远程发起攻击,且无需用户交互。虽然该漏洞不会直接导致系统完全失陷,但其对数据机密性和完整性均有一定影响,可能泄露捐赠活动的敏感配置信息、捐赠者数据或财务相关数据,对依赖该插件的网站运营者构成实质性安全威胁。
从技术层面分析,该漏洞的根本原因在于GiveWP插件在注册REST API路由时,未对相关端点实施适当的权限验证机制。在WordPress REST API体系中,每个注册的路由都应该通过'permission_callback'参数指定访问该端点所需的权限。当该参数缺失或被错误配置为返回true时,任何用户(包括未认证的匿名访问者)都可以直接调用这些API端点。
具体而言,受影响的四个函数位于以下代码路径中:
1. 'RegisterCampaignRoutes.php'文件的第60行和第91行:对应'registerGetCampaign'和'registerGetCampaigns'函数,负责处理筹款活动(Campaign)的单个和列表查询请求。
2. 'DonationFormsEntityRoute.php'文件的第52行和第82行:对应'registerGetForm'和'registerGetForms'函数,负责处理捐赠表单(DonationForm)的单个和列表查询请求。
这些路由在处理GET请求时,缺少对当前用户权限的验证,没有检查用户是否具有查看私有或草稿内容的能力。因此,攻击者只需构造特定的REST API请求(如向/wp-json/givewp/v3/forms/或/wp-json/givewp/v3/campaigns/等端点发送GET请求),即可绕过权限控制,读取到状态为'private'、'draft'或'archived'的捐赠表单和筹款活动数据。
利用方式相对简单:攻击者无需任何认证凭据,仅需向目标WordPress站点的REST API端点发送HTTP GET请求,即可枚举和提取受保护的捐赠表单及筹款活动信息。这些信息可能包含表单配置、捐赠金额设置、活动描述、内部ID等敏感数据。