CVE-2025-11938CVE-2025-11938是ChurchCRM教堂管理系统中的一个高危反序列化漏洞,影响版本至5.18.0。该漏洞存在于setup/routes/setup.php文件中,攻击者可以通过远程方式操纵DB_PASSWORD、ROOT_PATH和URL等参数,触发PHP不安全反序列化操作,从而实现远程代码执行(RCE)。该漏洞的CVSS 3.1评分为5.6分,攻击向量为网络(AV:N),无需认证(PR:N)和用户交互(UI:N),攻击复杂度较高(AC:H)。尽管漏洞利用复杂度较高,但由于漏洞利用代码已公开披露,且ChurchCRM作为开源教堂管理解决方案广泛应用于各类宗教组织,其潜在威胁不容忽视。ChurchCRM供应商在漏洞披露前已被通知,但未做出任何响应,这进一步增加了用户面临的风险。该漏洞可能导致攻击者获取服务器敏感信息、篡改数据库内容以及破坏系统可用性,对使用ChurchCRM管理成员信息、捐款记录和活动安排的宗教机构构成严重安全威胁。
该漏洞的核心问题在于ChurchCRM的setup/routes/setup.php文件中对用户可控参数的处理不当。具体而言,当系统执行初始化设置流程时,DB_PASSWORD、ROOT_PATH和URL三个参数被传递给PHP的unserialize()函数或类似的反序列化机制,而未进行充分的过滤和验证。
PHP反序列化漏洞的原理是:当应用程序将用户输入的数据进行反序列化处理时,攻击者可以构造恶意的序列化字符串,其中包含预定义的魔术方法(如__wakeup()、__destruct()、__toString()等)。当这些对象被反序列化时,魔术方法会自动执行,从而触发攻击者预设的恶意代码执行链(gadget chain)。
在ChurchCRM的setup.php中,攻击者通过HTTP请求向设置接口提交精心构造的DB_PASSWORD、ROOT_PATH或URL参数值,这些参数中嵌入了恶意的PHP序列化payload。服务器端在处理这些参数时直接进行反序列化操作,导致魔术方法被触发,最终实现远程代码执行。
攻击者可以利用此漏洞执行任意PHP代码,包括但不限于:读取服务器敏感文件、获取数据库凭证、执行系统命令、植入Webshell等。由于该漏洞存在于安装/设置阶段,即使已完成初始配置的系统,在某些条件下(如重新运行设置流程)仍可能受到影响。