Critical severity · published Jul 15, 2026
CVE-2026-61451
Grav API Plugin before 1.0.4 Password Reset Token Poisoning via admin_base_url
9.6
CVSS
0.3%
EPSS
No
On KEV
Description
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, so an attacker can supply an arbitrary host. As a result, an unauthenticated attacker can 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. The vulnerable base URL can also be influenced via the Referer or Origin headers.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
High
Integrity
High
Availability
High
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 24% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
GR
grav-plugin-api · getgrav
before 1.0.4 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-61451
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-61451
github.com
https://github.com/getgrav/grav/security/advisories/GHSA-5xc4-j99p-cp4m
www.vulncheck.com
https://www.vulncheck.com/advisories/grav-before-password-reset-token-poisoning-via-admin-base-url
More from grav-plugin-api
9.8
CVE-2026-112779
Grav API Plugin before 1.0.42 Cache Exhaustion and Page Permission Bypass
9.4
CVE-2026-62668
Grav API Plugin: Webhook SSRF via Unrestricted cURL Protocols
8.8
CVE-2026-62666
Grav API Plugin: non-super api.users.write manager -> super-admin via createApiKey (incomplete fix of CVE-2026-59190); + 2FA strip of super
8.8
CVE-2026-72833
Grav 1.0.6 through 1.0.11 Privilege Escalation via Scoped API Keys
8.8
CVE-2026-72826
Grav API Plugin before 1.0.13 Scope Bypass via createApiKey
