CubeCart: Pre-Authenticated Password Reset Link Poisoning via HTTP Host Header
CubeCart is an ecommerce software solution. Prior to 6.7.2, CubeCart 6.6.x – 6.7.1 builds CC_STORE_URL directly from the Host request header at bootstrap, with no allowlist. The constant is embedded verbatim into transactional email links, most critically the password-reset link in User::passwordRequest() (and the admin equivalent in Admin::passwordRequest()). An unauthenticated attacker who knows a target email can POST /index.php?_a=recover with Host: evil.com; CubeCart writes a fresh verify token (valid 3,600 s) and emails the victim a link http://evil.com/index.php?_a=recovery&validate=<TOKEN>. The token is valid against the legitimate store — capturing the victim's click on evil.com yields full account takeover, or store takeover when an admin email is targeted. This vulnerability is fixed in 6.7.2.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-20 | CWE-20: Improper Input Validation |
| CWE | CWE-345 | CWE-345: Insufficient Verification of Data Authenticity |
| CWE | CWE-601 | CWE-601: URL Redirection to Untrusted Site ('Open Redirect') |
| CWE | CWE-784 | CWE-784: Reliance on Cookies without Validation and Integrity Checking in a Security Decision |
Type: CWE
Description: CWE-20: Improper Input Validation
Type: CWE
Description: CWE-345: Insufficient Verification of Data Authenticity
Type: CWE
Description: CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
Type: CWE
Description: CWE-784: Reliance on Cookies without Validation and Integrity Checking in a Security Decision
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.1 | 8.1 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
Version: 3.1
Base score: 8.1
Base severity: HIGH
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N