关键信息 漏洞概述 漏洞类型: 未认证远程代码执行 (RCE) 受影响产品: ChurchCRM 版本 <= 5.18.0 摘要: 在 ChurchCRM 的安装向导中存在一个关键的预认证远程代码执行漏洞,允许未经身份验证的攻击者在初始安装过程中注入任意 PHP 代码。 权限要求 所需权限: 无 —— 漏洞是预认证的,影响新安装。 影响 严重性: 关键 影响范围: - 完整服务器接管(无需身份验证) - 安装期间执行任意系统命令 - 在应用完成安装前潜在的持久后门安装 - 影响底层服务器环境的基础设施妥协 技术细节 漏洞位置: 文件中,用户输入直接字符串替换到 PHP 配置模板中。 示例代码片段: 概念验证 (PoC) 1. 访问安装向导(无需身份验证): 2. 通过表单参数提交恶意负载: 3. 执行任意命令: 确认结果 成功注入 payload 并写入 远程命令执行通过系统命令确认 安装窗口期间获得完整 Web 服务器用户访问 厂商响应分析 项目贡献者承认该问题“仅适用于新安装”,且一旦安装完成,指定 URL 将停止工作。但此评估不完全考虑以下因素: - 短暂窗口 ≠ 无风险: 即使短暂的 RCE 也提供了足够的时间进行基础设施妥协 - 无数据泄露风险 ≠ 无影响: 服务器妥协、后门安装和持久访问具有重大影响 - 仅安装期间 ≠ 低严重性: 预认证 RCE 在强制安装阶段影响所有新部署 缓解措施/变通方法 立即行动: 在安装期间限制对设置向导的网络访问 推荐厂商修复: - 对所有设置表单参数实施输入验证和清理 - 使用参数化配置生成代替字符串替换 - 添加 CSRF 保护和基本速率限制到设置端点 - 考虑将敏感配置生成移动到 CLI-only 工具 披露时间线 2025-09-24: 通过 GitHub Security Advisory GHSA-m8jq-j3p9-2xf3 报告 2025-10-04: 项目贡献者回应,指出问题“仅适用于新安装” 2025-10-04: 报告者澄清安装窗口期间的基础设施妥协风险 2025-10-08: 无进一步厂商响应;发布咨询以协调 CVE 参考资料 GitHub Security Advisory: GHSA-m8jq-j3p9-2xf3 ChurchCRM Setup Route: setup/routes/setup.php 联系方式 报告者: uartu0@gmail.com