CVE-2025-61543CVE-2025-61543是CraftMyCMS内容管理系统4.0.2.2版本中存在的一个主机头注入(Host Header Injection)漏洞,CVSS评分为7.1,属于高危级别漏洞。该漏洞位于系统的密码重置功能中,核心问题在于系统在生成密码重置链接时,直接使用了`$_SERVER['HTTP_HOST']`变量来构建邮件中发送给用户的重置URL,而没有对该值进行任何验证或过滤。
由于HTTP Host头是由客户端可控的,攻击者可以通过篡改HTTP请求中的Host字段,将恶意的域名或IP地址注入到密码重置链接中。当合法用户请求密码重置时,系统会将包含恶意链接的重置邮件发送给用户。如果用户点击了邮件中的恶意链接,将会被引导至攻击者控制的服务器,攻击者可以借此实施钓鱼攻击,窃取用户的密码重置令牌,从而实现账户接管(Account Takeover)。
该漏洞的攻击向量为网络(AV:N),无需认证(PR:N),但需要用户交互(UI:R)——即用户需要点击邮件中的恶意链接。漏洞对机密性影响为低(C:L),对完整性影响为无(I:N),对可用性影响为高(A:H)。该漏洞由[email protected]于2025年10月16日披露,目前已在多个漏洞数据库中收录,包括NVD、CVE.org、cvedetails和vuldb等。
CraftMyCMS 4.0.2.2的密码重置功能在生成重置链接时,直接使用了PHP的`$_SERVER['HTTP_HOST']`超级全局变量,该变量的值来源于HTTP请求头中的Host字段。攻击者可以通过以下方式利用此漏洞:
1. **构造恶意HTTP请求**:攻击者向目标网站的密码重置端点发送一个带有篡改Host头的HTTP请求。例如,使用curl工具将Host头设置为攻击者控制的域名`evil.com`。
2. **触发密码重置流程**:攻击者以受害者的身份(知道其用户名或邮箱)请求密码重置。系统会根据请求中的Host头生成重置链接,如`http://evil.com/reset?token=xxx`。
3. **邮件投递**:系统将包含恶意链接的密码重置邮件发送给受害者。由于邮件中的链接指向攻击者的服务器,看起来仍然像是来自合法网站的邮件。
4. **令牌窃取与账户接管**:受害者点击邮件中的链接后,被重定向到攻击者的服务器。攻击者可以记录下重置令牌,然后使用该令牌在合法网站上完成密码重置,从而接管受害者账户。
根本原因在于不安全的直接信任客户端输入。修复方案应包括:使用配置文件中的固定域名而非`$_SERVER['HTTP_HOST']`来构建URL;对Host头进行白名单验证;或者使用`$_SERVER['SERVER_NAME']`配合配置校验。