PatchSiren cyber security CVE debrief
CVE-2026-61451 getgrav CVE debrief
CVE-2026-61451 is a critical vulnerability in the Grav API plugin (grav-plugin-api) before version 1.0.4. The plugin fails to validate the origin of the client-supplied admin_base_url field in the POST /api/v1/auth/forgot-password endpoint. This allows an unauthenticated attacker to cause the password reset email sent to a victim to contain a reset link pointing at an attacker-controlled server. When the victim follows the link, the valid reset token is disclosed to the attacker, enabling full account takeover.
- Vendor
- getgrav
- Product
- grav
- CVSS
- CRITICAL 9.4
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-15
- Original CVE updated
- 2026-10-24
- Advisory published
- 2026-07-15
- Advisory updated
- 2026-10-24
Who should care
Defenders responsible for Grav installations, particularly those using the Grav API plugin, should assess exposure and apply necessary patches or mitigations. They should also review compensating controls for exposed systems and monitor for suspicious password reset activity. Security teams and vulnerability management teams should prioritize verifying exposure of Grav API plugin versions before 1.0.4 and apply the patch or mitigation measures.
Why it matters
CVE-2026-61451 is a critical vulnerability in the Grav API plugin that allows unauthenticated attackers to poison password reset tokens, potentially leading to full account takeover. Defenders should prioritize verifying exposure and applying patches.
- Unauthenticated attackers can poison password reset tokens
- Victims may disclose valid reset tokens to attackers
- Full account takeover is possible
- Defenders need to verify exposure and apply patches
Technical summary
The Grav API plugin (grav-plugin-api) before 1.0.4 does not validate the origin of the client-supplied admin_base_url field in the POST /api/v1/auth/forgot-password endpoint. The sanitizeHttpUrl() function only checks that the URL scheme is http/https and never verifies the host against the server's own origin, allowing an attacker to supply an arbitrary host. This allows an unauthenticated attacker to cause the password reset email sent to a victim to contain a reset link pointing at an attacker-controlled server. When the victim follows the link, the valid reset token is disclosed to the attacker, enabling full account takeover. Defenders should prioritize verifying exposure and applying patches.
Defensive priority
Defenders should prioritize verifying exposure of Grav API plugin versions before 1.0.4 and applying the patch or mitigation measures.
Recommended defensive actions
- Verify exposure of Grav API plugin versions before 1.0.4
- Apply patch or mitigation measures
- Monitor for suspicious password reset activity
- Review compensating controls for exposed systems
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The CVE record and NVD entry provide details on the vulnerability, including its critical CVSS score of 9.4 and the affected plugin version. Defenders should verify exposure of Grav API plugin versions before 1.0.4 and review compensating controls for exposed systems. The sanitizeHttpUrl() function only checks that the URL scheme is http/https and never verifies the host against the server's own origin, allowing an attacker to supply an arbitrary host. Evidence is limited to public CVE and NVD records.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-61451 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-61451
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-61451 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-61451
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/getgrav/grav/security/advisories/GHSA-5xc4-j99p-cp4m
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/grav-before-password-reset-token-poisoning-via-admin-base-url
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.