漏洞描述
GiveWP 插件中发现了一个严重漏洞,该插件是 WordPress 最广泛使用的在线捐赠和筹款工具之一。该漏洞的编号为 CVE-2025-22777,CVSS 评分为 9.8,表明其严重性。
GiveWP 插件拥有超过 100,000 个活跃安装,为全球无数捐赠平台提供支持。正如其 WordPress 插件页面所述,“ GiveWP 是 WordPress 中评分最高、下载次数最多、支持最好的捐赠插件。无论您需要一个简单的捐赠按钮还是一个针对在线捐赠进行优化的强大捐赠平台,GiveWP 都是您的不二之选。”
然而,GiveWP 的受欢迎程度也使其成为攻击者的目标,导致多年来发现了多个漏洞。
漏洞详情
最新的漏洞 CVE-2025-22777 源自未经身份验证的 PHP 对象注入,允许攻击者绕过安全机制并可能接管 WordPress 网站。此漏洞是由于数据库中元数据的存储不安全造成的,可能会被恶意反序列化。
根据 Patchstack 安全研究员 Ananda Dhakal 的报告,该漏洞存在于 GiveWP 3.19.3 及以下版本中。Dhakal解释道,“由于字符串的正则表达式检查较弱,整个序列化检查都可以被绕过。攻击者可以在序列化的有效负载之间输入乱码文本,使正则表达式检查无效,并将恶意元数据存储在数据库中,最终将被反序列化。”
这并不是 GiveWP 第一次遇到此类漏洞。该问题基于之前的漏洞 CVE-2024-5932,该漏洞涉及对 give-form-title 和 give_title 等表单参数的不正确验证。尽管该漏洞已在 3.14.2 版中得到修补,但研究人员发现,基于正则表达式的序列化内容验证仍然可以被绕过。
漏洞分析
https://labs.watchtowr.com/exploitation-walkthrough-and-techniques-ivanti-connect-secure-rce-cve-2025-0282/
Patchstack Alliance 成员、Zalopay Security 的 Edisc 能够通过注入特殊字符序列(例如 %25F0%259F%2598%25BC)来利用此漏洞,以绕过弱正则表达式验证。
关键漏洞场景涉及捐赠表单中的公司字段。一旦注入恶意负载,它就可以作为元数据存储,然后反序列化,使攻击者能够执行任意文件删除,包括 wp-config.php 文件。此删除可能导致整个站点接管和远程代码执行 (RCE)。
GiveWP 团队已迅速采取行动解决该漏洞,并发布了3.19.4版本来修复该问题。强烈建议用户立即更新到最新版本以保护其网站。