CVE-2026-45013: ApostropheCMS Host Header Password Reset Takeover (CVSS 8.1)
ApostropheCMS, a popular Node.js-based content management system, contains a critical flaw in its password reset functionality. When the application isn't configured with an explicit base URL, it automatically derives the reset link domain from the incoming HTTP Host header—which attackers can manipulate. This means an attacker with knowledge of a victim's email address can trigger a password reset that sends the victim a link pointing to the attacker's server. If the victim clicks it, the valid reset token leaks directly to the attacker, granting them full control of the account. The vulnerability affects all versions up to and including 4.29.0, and no patch has been released as of this publication.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-20, CWE-640
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-12 / 2026-06-17
NVD description (verbatim)
ApostropheCMS is an open-source Node.js content management system. Versions up to and including 4.29.0 have a password reset flow that constructs the reset URL using `req.hostname`, which is derived directly from the attacker-controlled HTTP `Host` header when `apos.baseUrl` is not explicitly configured. An unauthenticated attacker who knows a victim's email address can send a crafted reset request that causes the application to email the victim a reset link pointing to the attacker's domain. When the victim clicks the link, the valid reset token is delivered to the attacker, enabling full account takeover. As of time of publication, no known patched versions are available.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
ApostropheCMS versions ≤4.29.0 fail to validate or sanitize the HTTP Host header when constructing password reset URLs in the absence of an explicitly configured `apos.baseUrl`. The vulnerability stems from improper input validation (CWE-20) combined with email-based account recovery abuse (CWE-640). An attacker performs the following chain: (1) discovers or obtains a target user's email address; (2) submits a password reset request with a crafted Host header pointing to attacker-controlled infrastructure; (3) the application generates and emails a reset link using that attacker-supplied hostname; (4) when the victim clicks the link, the valid reset token is transmitted to the attacker's server as a query parameter or path component; (5) the attacker uses the token to reset the password and gain unauthorized access. The CVSS 3.1 score of 8.1 (HIGH) reflects the ease of exploitation (network-accessible, no authentication required, minimal user interaction), high impact on confidentiality and integrity, and the practical nature of social engineering victims into clicking email links.
Business impact
Account takeover via this vulnerability directly compromises user data, editorial content, and administrative privileges within affected ApostropheCMS instances. Organizations relying on ApostropheCMS for content management, publishing, or user authentication face loss of confidential information, unauthorized content modification or deletion, reputational damage from defacement or data leaks, and potential regulatory exposure if personal data is exposed. The low barrier to exploitation—requiring only a known email address and basic HTTP manipulation—makes this a high-likelihood incident vector for both targeted and opportunistic attacks.
Affected systems
ApostropheCMS versions 4.29.0 and earlier are vulnerable. The vulnerability manifests only when `apos.baseUrl` is not explicitly configured in the application settings; installations that have manually set a hardcoded base URL are protected. Open-source deployments, shared hosting environments, and containerized instances without environment-based URL configuration are at highest risk. No official list of affected third-party hosted instances has been published; organizations should audit their deployment configuration immediately.
Exploitability
This vulnerability requires no special privileges, no authentication, and only basic HTTP crafting capability. Exploitation relies on social engineering (convincing the victim to click the reset link), but the link itself appears legitimate to the victim since it uses their own domain in the sender context. Automated email enumeration can identify valid accounts, further reducing friction. The attack leaves minimal forensic traces if the attacker uses HTTPS and does not log requests. Given the simplicity and the universal familiarity of password reset workflows, exploitability is very high once an attacker identifies an ApostropheCMS instance and determines whether it lacks URL configuration hardening.
Remediation
Until an official patch is available, operators must immediately implement one of the following mitigations: (1) explicitly configure `apos.baseUrl` in application settings to a hardcoded, validated domain; (2) validate incoming Host headers against a whitelist of permitted domains and reject or log suspicious requests; (3) disable password reset functionality if not essential, or replace it with out-of-band verification (e.g., SMS or app-based confirmation); (4) implement CSRF tokens and rate limiting on password reset endpoints to reduce token leakage risk. Organizations should monitor for vendor advisories and security patches closely, as the upstream ApostropheCMS project has not yet released a patched version. Community-contributed workarounds should be evaluated cautiously.
Patch guidance
As of the publication date (2026-06-17), no patched version of ApostropheCMS has been released. Administrators should check the official ApostropheCMS repository and security advisories regularly for a release that addresses this vulnerability. When a patch becomes available, verify it explicitly addresses Host header validation or `apos.baseUrl` enforcement, and test in a staging environment before production deployment. Until then, apply the configuration-based mitigations described above.
Detection guidance
Monitor application and web server logs for: (1) password reset requests with Host headers differing from expected production domains; (2) reset link clicks from geographic or IP regions inconsistent with the authenticated user's profile; (3) repeated password reset requests for different email addresses (account enumeration); (4) reset tokens redeemed from IP addresses or user agents that differ significantly from the requester's profile. Implement email forwarding inspection to detect reset emails being sent to unexpected domains. Network IDS/IPS signatures matching Host: [attacker-domain] patterns on password reset endpoints may catch opportunistic exploitation. Log all password reset requests with full request headers and email recipient addresses for forensic analysis.
Why prioritize this
This vulnerability merits immediate attention despite the lack of KEV listing. The combination of high CVSS score (8.1), unauthenticated attack surface, low operational complexity, and account takeover impact makes it a primary target for attackers. The fact that no patch is yet available creates a window where administrators must rely solely on configuration hardening. Organizations with public-facing ApostropheCMS instances should treat this as a critical incident response priority. Even internal or less-visible instances should be assessed, as the attack can be automated at scale across multiple targets.
Risk score, explained
The CVSS 3.1 score of 8.1 reflects: (1) Network-based attack vector (AV:N) with no special network positioning required; (2) Low attack complexity (AC:L)—the attacker simply needs to craft an HTTP Host header and know an email address; (3) No privilege or authentication required (PR:N); (4) Low user interaction (UI:R)—the victim must click a link, which is a routine action in password reset workflows; (5) High confidentiality impact (C:H)—full account access exposes user data and administrative functions; (6) High integrity impact (I:H)—the attacker can modify or delete content; (7) No availability impact (A:N)—the system itself remains operational. The severity reflects a serious but not catastrophic exposure window, pending patch availability.
Frequently asked questions
Does this affect me if I've set `apos.baseUrl` in my configuration?
No. The vulnerability only manifests when `apos.baseUrl` is not explicitly configured. If you have hardcoded or environment-variable-based URL configuration, the application will ignore the Host header for password reset links. Verify your configuration file and confirm the setting is present and correct.
Can I detect if someone has exploited this in my environment?
Yes. Check your email sending logs and password reset audit trails for reset links that were sent with unexpected domains or to users who did not request them. Review failed login attempts and IP addresses associated with successful password resets. If you have access to SMTP/email server logs, examine the reset link URLs for suspicious domains.
Should I disable password resets entirely until a patch is available?
Disabling password resets entirely may harm user experience, but it is an option for high-security environments. A safer middle ground is to keep resets enabled but add additional verification steps (e.g., requiring a secondary confirmation via SMS or pre-registered trusted email, or using time-limited one-time codes) and implement strict Host header validation as a defense-in-depth layer.
Will my reverse proxy or WAF rules help protect me?
A WAF can provide some protection if configured to validate Host headers and block suspicious patterns. However, this is not a reliable primary defense because legitimate password reset emails will still be sent with the malicious domain, and the victim may click them from external networks. Fixing the application configuration and adding explicit URL hardening is essential.
This analysis is based on the vulnerability description and CVE record as of 2026-06-17. The information provided is for informational and defensive purposes. No patched versions exist as of publication; verify all remediation steps against the official ApostropheCMS project before implementation. Proof-of-concept code, exploit details, and weaponized attack scenarios are not included in this analysis. Organizations should consult official vendor advisories and conduct internal security testing before deploying mitigations. SEC.co provides this information in good faith but makes no warranties regarding completeness, accuracy, or fitness for any particular use. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-22424HIGHAndroid Local Privilege Escalation via Image Disclosure
- CVE-2026-0078HIGHAndroid Privilege Escalation via DevicePolicyManagerService Desync
- CVE-2026-0419HIGHNETGEAR JR6150 Command Injection via Insufficient Input Validation
- CVE-2026-10020HIGHChrome Android Sandbox Escape via Skia Input Validation Flaw
- CVE-2026-10021HIGHGoogle Chrome USB Validation Flaw – RCE Vulnerability Patch
- CVE-2026-10863HIGHMISP Correlations Query Ordering Vulnerability (CVSS 8.1)
- CVE-2026-10904HIGHChrome V8 Sandbox Escape Remote Code Execution
- CVE-2026-10911HIGHChrome Sandbox Escape Vulnerability (High Severity)