Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft OAuth login URL with '/\attacker.com' returnTo
-
DeliveryDeliver crafted URL to authenticated Grav admin via phishing
-
ExploitVictim completes legitimate SSO login
-
ExecutionBrowser normalizes backslash to '//attacker.com'
-
PersistVictim redirected to attacker-controlled phishing page
-
ImpactCredentials or session token harvested
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a Grav installation running the admin-next SPA with the grav-plugin-api plugin at a version prior to 1.0.14 and SSO/OAuth login functionality enabled and reachable. From the attacker's side, no authenticated access to the target Grav instance is needed - the attacker only needs to deliver a crafted login URL to a victim. However, the victim must already hold a valid Grav session or complete a fresh OAuth login (UI:P per the CVSS 4.0 vector), meaning the post-redirect phishing works only against users who actively authenticate via the SSO flow. Full exploitability additionally depends on the admin-next SPA's client-side OAuth-callback handler actually issuing the redirect from the server-supplied returnTo value, a behavior the original reporter explicitly did not independently verify. Classic Grav installations without the API plugin or without SSO/OAuth configured are not affected. |
| Impact | The CVSS 4.0 score of 8.6 with VC:H/VI:H/VA:H appears significantly elevated for a classical open redirect and likely reflects worst-case downstream phishing consequences (credential theft, session hijacking) rather than direct system compromise achievable by the vulnerability alone. The PR:L metric in the provided vector suggests low-privilege attacker access, though for a crafted-URL delivery model the attacker typically requires no privileges of their own - the victim must be authenticated (UI:P). There is no CISA KEV listing and no public proof-of-concept identified at time of analysis, meaning confirmed active exploitation is absent. EPSS data was not provided, limiting probabilistic risk quantification. A key uncertainty flagged in the description itself is that full exploitability depends on the admin-next SPA's client-side OAuth-callback handler behavior, which was not independently verified - this introduces meaningful doubt about real-world reproducibility. Real-world priority is moderate-to-low: the technique is conceptually simple but requires user interaction and targets a relatively niche deployment (Grav 2.0 admin-next), and the impact is a redirect, not direct code execution or data exfiltration. |
| Exploit ScenarioDerived | An attacker crafts a Grav OAuth login URL with the returnTo parameter set to '/\attacker.com/harvest' and delivers it via phishing email or link injection to a Grav administrator. The victim clicks the link, completes the legitimate SSO login flow, and is immediately redirected - because the browser normalizes the backslash to a forward slash - to '//attacker.com/harvest', an attacker-controlled credential-harvesting page styled to mimic the Grav admin interface. No public proof-of-concept code exists at time of analysis, but the backslash-normalization behavior is a well-known browser characteristic requiring no specialized tooling to exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 18, 2026
Open redirect in the Grav API plugin (grav-plugin-api) before 1.0.14, bundled with Grav 2.0's admin-next/API stack, allows post-login phishing via a backslash normalization bypass in SsoController::sanitizeReturnTo(). An attacker who can send a crafted OAuth login URL to an authenticated admin victim can supply a returnTo value such as '/\evil.com' that passes the guard rejecting '//' prefixes but is silently normalized by the browser into the protocol-relative URL '//evil.com', redirecting the victim to an attacker-controlled site immediately after a legitimate login. No public exploit has been identified at time of analysis, though the backslash-normalization technique is a well-documented browser behavior; the vendor advisory references a fix in version 1.0.14.
RemediationAI
Upgrade the Grav API plugin (grav-plugin-api) to version 1.0.14 or later, which contains the corrected sanitizeReturnTo() validation logic; the vendor advisory at https://github.com/getgrav/grav/security/advisories/GHSA-x72c-4jc4-8rh6 should be consulted for upgrade instructions. If an immediate upgrade is not feasible, restrict the OAuth/SSO login flow at the reverse proxy or WAF layer by rejecting or URL-encoding backslash characters in the returnTo query parameter - note that aggressive backslash filtering may interfere with legitimately encoded URL parameters in edge cases, so testing is warranted. Alternatively, if SSO/OAuth functionality is not actively required, temporarily disabling the admin-next API plugin removes the vulnerable code path entirely. Restricting admin panel access to trusted IP ranges reduces the exposure window for phishing-based attacks delivered via crafted login URLs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Grav CMS API plugin (getgrav/grav-plugin-api), identified by CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*, specifically as bundled with the Grav 2.0 admin-next single-page application and OAuth/SSO stack. The root cause is CWE-601 (URL Redirection to Untrusted Site / Open Redirect): the sanitizeReturnTo() method in SsoController applies an incomplete denylist check that rejects returnTo values starting with the literal string '//' but does not normalize the input before comparison. HTTP special schemes (http, https) cause all major browsers to treat backslashes as forward slashes within the authority segment of a URL, so the string '/\evil.com' is indistinguishable from '//evil.com' after browser-side normalization. The vulnerability sits in the server-side redirect construction used during the OAuth callback flow; however, the description notes that whether the admin-next SPA's client-side OAuth-callback handler ultimately issues the redirect was not independently verified by the reporter.
Know when Grav gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Attacker needs no privileges to craft the URL; victim must actively follow it (UI:R); redirect impact limited to phishing-driven credential exposure (C:L), with no direct integrity or availability consequence.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav 2.0's admin-next/API stack) before version 1.0.14 contains an open redirect weakness in SsoController::sanitizeReturnTo(). The function rejects a literal '//' prefix but does not account for browsers normalizing backslashes to slashes in special (http/https) schemes, so a returnTo value such as '/\evil.com' passes the guard and is later resolved by the browser as the protocol-relative URL '//evil.com'. Following a legitimate OAuth login flow, an attacker-supplied returnTo parameter could redirect an authenticated victim to an attacker-controlled site for post-login phishing. Full browser-side exploitability depends on the admin-next SPA's client-side oauth-callback handler and was not independently verified by the reporter.
Executive ViewAI
A post-login open redirect vulnerability in Grav 2.0's bundled API plugin (CVE-2026-75833, CVSS 8.6) allows attackers to redirect authenticated administrators to malicious sites via crafted OAuth login URLs, facilitating credential theft and system compromise. Administrative staff at organizations deploying Grav 2.0 are directly exposed to targeted phishing attacks that appear legitimate and originate from official OAuth flows. The vulnerability specifically targets administrative users immediately after successful authentication, making account takeover a realistic attack outcome.
Apply vendor patch: upgrade to grav-plugin-api version 1.0.14. Pending patching, implement: strict URL validation on OAuth returnTo parameters, IP-based access restrictions on admin interfaces, multi-factor authentication for all administrative accounts, and enhanced monitoring for anomalous admin login sessions or unexpected post-login redirects.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol
Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their
A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug
Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a
GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv
Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages
Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri
Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm
Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past
Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S
Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary
EUVD-2026-60597
GHSA-chr5-7vjc-3p97
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB