Description
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.
Published: 2026-08-18
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin is vulnerable to an open redirect flaw introduced by a sanitization bypass. The SsoController::sanitizeReturnTo() routine rejects a literal ‘//’ prefix but fails to account for browsers mapping backslashes into forward slashes in HTTP and HTTPS URLs. Consequently a returnTo value such as ‘/\evil.com’ is accepted, and when the browser resolves it becomes the protocol‑relative URL ‘//evil.com’. This flaw can be triggered after a legitimate OAuth login flow, allowing an attacker known returnTo parameter to redirect an authenticated user to a malicious site for post‑login phishing. The vulnerability is therefore an instance of CWE‑601 – open redirect— and poses a loss of user trust and potential credential theft if a user follows the malicious link.

Affected Systems

The affected vendor is Grav (getgrav), specifically the Grav API plugin bundled with Grav 2.0’s admin‑next/API stack. All releases before version 1.0.14 contain the flaw; the CPE identifier is cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*, indicating that the entire Grav package is impacted until the 1.0.14 update is applied.

Risk and Exploitability

The CVSS score of 8.6 indicates a high‑severity vulnerability, but the EPSS score is currently unavailable, so the immediate likelihood of exploitation is unclear. The issue is not listed in the CISA KEV catalog. Exploitability requires the victim to authenticate via the normal OAuth flow and then be redirected by the app’s client‑side oauth‑callback handler, so the attack is browser‑centric and relies on the user interacting with the redirect. Attackers can craft a malicious returnTo value that bypasses the server‑side guard, causing browsers to navigate to an attacker‑controlled domain after login. Because the exploitation is driven entirely by client processing, it is readily reproducible without privileged access to the server.

Generated by OpenCVE AI on August 18, 2026 at 12:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Grav to the Grav API plugin v1.0.14 or newer, which removes the bypass in sanitizeReturnTo().
  • If an upgrade cannot be performed immediately, disable the OAuth redirect feature or block the /api/auth/token endpoint until the fix is applied.
  • As a temporary mitigator, enforce strict validation of returnTo URLs: reject any values that contain backslashes, require a leading slash for relative paths, and whitelist only known safe domain names to prevent protocol‑relative redirects.

Generated by OpenCVE AI on August 18, 2026 at 12:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 18 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Grav API Plugin Open Redirect via Backslash Bypass
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-601
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 8.6, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-18T13:42:25.284Z

Reserved: 2026-08-18T10:57:39.580Z

Link: CVE-2026-75833

cve-icon Vulnrichment

Updated: 2026-08-18T13:41:29.891Z

cve-icon NVD

Status : Received

Published: 2026-08-18T12:19:33.370

Modified: 2026-08-18T14:18:10.873

Link: CVE-2026-75833

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T12:45:06Z

Weaknesses
  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')