Description
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.
Published: 2026-06-12
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

ApostropheCMS builds password reset URLs using the hostname from the HTTP Host header when the baseUrl configuration is omitted. An attacker can supply a forged Host header, causing the CMS to email a reset link that points to the attacker’s domain. When the victim clicks the link, the legitimate reset token is delivered to the attacker, who can then reset the user’s password and gain complete account control. The flaw arises from improper input validation (CWE‑20) and leads to the exposure of sensitive credentials (CWE‑640).

Affected Systems

Versions of the apostrophecms:apostrophe content management system up to and including 4.29.0 are affected whenever the apos.baseUrl setting is left blank. Users running these versions without a defined base URL are at risk because reset URLs are constructed from the user‑controlled Host header.

Risk and Exploitability

The CVSS score of 8.1 classifies this as a high‑severity vulnerability, while the EPSS score of less than 1% indicates that exploitation cases are rare but possible. It is not listed in CISA’s KEV catalog, so a widespread, confirmed attack is not yet known. The vulnerability does not require any privileged access to the application; an unauthenticated attacker merely needs a victim’s email address and the ability to send a crafted password‑reset request, rendering it a straightforward remote attack when the victim follows the spoofed link.

Generated by OpenCVE AI on June 12, 2026 at 22:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Deploy the official patch once it becomes available from apostrophecms.
  • Configure the apos.baseUrl setting with the valid domain name to stop the Host header from affecting reset URLs.
  • Restrict password reset emails to only originate from the configured baseUrl or disable external reset notifications until the issue is resolved.

Generated by OpenCVE AI on June 12, 2026 at 22:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-gf43-24g3-5hw2 Apostrophe has a Weak Password Recovery Mechanism for Forgotten Password and Improper Input Validation
History

Sat, 13 Jun 2026 04:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 12 Jun 2026 21:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Apostrophe has a Weak Password Recovery Mechanism for Forgotten Password and Improper Input Validation
Weaknesses CWE-20
CWE-640
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-13T03:37:07.486Z

Reserved: 2026-05-08T16:58:28.895Z

Link: CVE-2026-45013

cve-icon Vulnrichment

Updated: 2026-06-13T03:36:55.309Z

cve-icon NVD

Status : Received

Published: 2026-06-12T21:16:22.850

Modified: 2026-06-13T04:17:22.617

Link: CVE-2026-45013

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-12T22:30:08Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-640

    Weak Password Recovery Mechanism for Forgotten Password