{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-45013: Apostrophe has a Weak Password Recovery Mechanism for Forgotten Password and Improper Input Validation","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-45013","status":"final","version":"1","initial_release_date":"2026-06-12T20:46:21.628Z","current_release_date":"2026-06-13T03:37:07.486Z","revision_history":[{"date":"2026-06-12T20:46:21.628Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"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":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-45013 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-45013"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-45013"},{"category":"external","summary":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-gf43-24g3-5hw2","url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-gf43-24g3-5hw2"}]},"product_tree":{"branches":[{"category":"vendor","name":"apostrophecms","branches":[{"category":"product_name","name":"apostrophe","branches":[{"category":"product_version","name":"<= 4.29.0","product":{"name":"apostrophecms apostrophe <= 4.29.0","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:apostrophecms:apostrophe:\\<\\=_4.29.0:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-45013","title":"Apostrophe has a Weak Password Recovery Mechanism for Forgotten Password and Improper Input Validation","notes":[{"category":"description","text":"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":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"]},"scores":[{"cvss_v3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","baseScore":8.1,"baseSeverity":"HIGH"},"products":["CSAFPID-1"]}],"remediations":[{"category":"none_available","details":"No fixed version is published yet. Monitor the upstream advisory.","product_ids":["CSAFPID-1"]}]}]}