CVE-2026-69087

Grav Form Plugin before 9.1.13 Open Redirect via form.value() Twig

Published Aug 3, 2026 CVSS 4.0 · 7.1 High EPSS < 1% KEV · Not listed
Description
The Grav form plugin (getgrav/grav-plugin-form) before 9.1.13 contains an open redirect vulnerability. Since v9.1.11, the redirect process action evaluates user-supplied form data inside Twig expressions, and Grav::redirect() accepts external URLs without origin validation. When a form blueprint defines a redirect target such as redirect: "{{ form.value('next') }}" using an attacker-controllable field, an unauthenticated form submitter can supply a value like https://evil.com to cause a 302 redirect to an arbitrary external site, enabling phishing.

Analysis

AI-generated

Technical impact

The Grav form plugin (getgrav/grav-plugin-form) processes redirect instructions inside Twig expressions that can originate from user‑supplied form data. This creates a CWE‑601 Open Redirect weakness because the Grav::redirect() function accepts external URLs without validating the origin. By defining a redirect target such as redirect: "{{ form.value('next') }}" in the form blueprint, an attacker can provide an arbitrary URL like https://evil.com in the 'next' field and trigger a 302 redirect to that site. The outcome is that unauthenticated users are sent to malicious destinations, facilitating phishing or social‑engineering attacks.

Affected Systems

All deployments of the Grav form plugin before version 9.1.13 are vulnerable. The issue is specific to the form component of the Grav CMS (Getgrav: Grav plugin form). Exact affected releases include any release earlier than 9.1.13, and no version information is available for later releases beyond that point.

Risk and Exploitability

The CVSS scoring of 7.1 places the vulnerability in the high severity range, indicating a significant risk to users following a redirect. The EPSS score of <1% suggests that, at the time of this reporting, the likelihood of widespread exploitation is low, but the potential impact remains serious because the redirect can be triggered by a simple form submission without authentication. The vulnerability is not listed in the CISA KEV catalog, which may reflect its limited current exploitation but does not reduce the need for a timely response. An attacker only needs to craft a malicious form submission containing a controlled 'next' value to abuse the redirect.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Grav form plugin to version 9.1.13 or newer, which stops evaluating user input as a Twig expression for redirect targets.
  • For environments that cannot be updated immediately, revise any form blueprints that use redirect expressions to either employ static URLs or implement server‑side validation for redirect targets before redirecting.
  • As a temporary countermeasure, disable the redirect action on publicly exposed forms until a patched version is deployed.

Generated by OpenCVE AI on August 4, 2026 at 21:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Getgrav grav-plugin-form
Vendors & Products Getgrav grav-plugin-form
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
Description The Grav form plugin (getgrav/grav-plugin-form) before 9.1.13 contains an open redirect vulnerability. Since v9.1.11, the redirect process action evaluates user-supplied form data inside Twig expressions, and Grav::redirect() accepts external URLs without origin validation. When a form blueprint defines a redirect target such as redirect: "{{ form.value('next') }}" using an attacker-controllable field, an unauthenticated form submitter can supply a value like https://evil.com to cause a 302 redirect to an arbitrary external site, enabling phishing.
Title Grav Form Plugin before 9.1.13 Open Redirect via form.value() Twig
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': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 3, 2026, 2:25 PM
Reserved
Aug 3, 2026, 10:42 AM
Status
Deferred
Published
Aug 3, 2026, 2:16 PM
Modified
Oct 23, 2026, 9:10 PM