CVE-2025-11939CVE-2025-11939是ChurchCRM 5.18.0及以下版本中存在的一个路径遍历(Path Traversal)漏洞。该漏洞位于ChurchCRM的备份恢复组件中,具体涉及文件src/ChurchCRM/Backup/RestoreJob.php的RestoreJob处理逻辑。攻击者可以通过操控restoreFile参数,利用路径遍历技术访问或操作服务器上的任意文件,从而可能导致远程代码执行(RCE)。该漏洞的CVSS 3.1评分为4.7,属于中危级别,攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H)才能利用,无需用户交互(UI:N)。该漏洞对机密性、完整性和可用性均存在低级别影响。值得注意的是,该漏洞已被公开披露,并且存在公开的利用方式(PoC),尽管安全研究人员曾提前通知厂商,但厂商未对此做出任何回应,这进一步增加了使用受影响版本的用户面临的安全风险。ChurchCRM是一款开源的教会管理CRM软件,广泛用于教会成员管理、活动安排、捐赠跟踪等场景,因此该漏洞可能影响大量教会组织的敏感数据安全。
该漏洞的核心问题在于ChurchCRM备份恢复组件RestoreJob.php对用户可控的restoreFile参数缺乏充分的路径验证和过滤。具体技术原理如下:
1. **漏洞位置**:src/ChurchCRM/Backup/RestoreJob.php文件中的Backup Restore Handler组件处理restoreFile参数时,未对传入的文件路径进行规范化或白名单校验。
2. **漏洞原理**:攻击者可以构造包含目录遍历序列(如../或..\)的恶意文件路径作为restoreFile参数的值。当应用程序使用该参数拼接文件路径进行文件操作(如读取、写入、恢复)时,攻击者可以突破预期的目录限制,访问或操作Web服务器文件系统中的任意位置的文件。
3. **利用方式**:由于备份恢复功能通常涉及将文件写入服务器,攻击者可以通过路径遍历将恶意文件写入Web可访问目录,进而实现远程代码执行。例如,构造restoreFile参数为类似`../../web/uploads/shell.php`的形式,可能将恶意PHP文件写入Web目录。
4. **权限要求**:漏洞利用需要高权限(PR:H),这意味着攻击者需要先获取ChurchCRM系统的管理员或具有备份恢复权限的账户凭证。
5. **攻击影响**:成功利用该漏洞可能导致敏感文件泄露、任意文件写入/覆盖,最终实现远程代码执行,完全控制受影响的服务器。