Description
Formie is a Craft CMS plugin for creating forms. Prior to 3.1.27, Formie can pass request-derived Hidden field defaults such as HTTP User Agent, Referer URL, Current URL, Current URL without Query String, Query Parameter, and Cookie Value to Craft's Twig rendering layer during front-end form rendering. An unauthenticated attacker can place Twig syntax in one of these request-controlled inputs when a public form contains an affected Hidden field. Hidden::getFrontEndInputOptions() then assigns the value to defaultValue and calls renderString, causing server-side template evaluation rather than treating the request data as a plain string. Depending on the Craft site configuration and available Twig capabilities, exploitation can disclose sensitive information, modify application state, or achieve remote code execution. This issue is fixed in version 3.1.27.
Published: 2026-08-19
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Formie is a plugin for Craft CMS that allows the creation of forms. Prior to the 3.1.27 release, the plugin could forward request‑derived defaults for hidden fields—such as the HTTP User Agent, Referer URL, Current URL, query parameters, or cookie values—to Craft’s Twig rendering layer during front‑end rendering. When a public form contains an affected hidden field, Formie assigns the injected value to defaultValue and calls renderString, which evaluates the Twig syntax on the server. This server‑side template injection can lead to disclosure of sensitive information, modification of application state, or—depending on the site’s Twig configuration—remote code execution.

Affected Systems

All installations of the Craft CMS plugin Formie from verbb, version 3.1.27 or earlier, are vulnerable. The issue appears when a public form includes a hidden field that uses a request‑derived default value such as the HTTP User Agent, Referer URL, Current URL, Current URL without query string, query parameters, or cookie value.

Risk and Exploitability

The CVSS base score of 9.8 indicates critical severity. EPSS score < 1%, indicating a very low probability of exploitation, though the vulnerability requires specific conditions such as a public form containing a vulnerable hidden field, which limits the attack surface. The vulnerability is not listed in the CISA KEV catalog. An unauthenticated attacker can supply malicious Twig syntax via a request parameter, causing the server to evaluate it. The impact ranges from data disclosure to remote code execution, depending on the Twig capabilities available on the target site.

Generated by OpenCVE AI on August 20, 2026 at 15:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Formie to version 3.1.27 or newer, which removes the template rendering of request‑derived hidden field defaults.
  • Remove or disable any hidden fields that use request‑derived defaults, replacing them with static values or values validated against a whitelist.
  • Restrict the publication of forms containing vulnerable hidden fields to authenticated users or internal networks until a patch is applied.

Generated by OpenCVE AI on August 20, 2026 at 15:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-565m-g33j-jq96 Formie Hidden field defaults vulnerable to Server-Side Template Injection
History

Wed, 19 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
First Time appeared Verbb
Verbb formie
Vendors & Products Verbb
Verbb formie

Wed, 19 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Description Formie is a Craft CMS plugin for creating forms. Prior to 3.1.27, Formie can pass request-derived Hidden field defaults such as HTTP User Agent, Referer URL, Current URL, Current URL without Query String, Query Parameter, and Cookie Value to Craft's Twig rendering layer during front-end form rendering. An unauthenticated attacker can place Twig syntax in one of these request-controlled inputs when a public form contains an affected Hidden field. Hidden::getFrontEndInputOptions() then assigns the value to defaultValue and calls renderString, causing server-side template evaluation rather than treating the request data as a plain string. Depending on the Craft site configuration and available Twig capabilities, exploitation can disclose sensitive information, modify application state, or achieve remote code execution. This issue is fixed in version 3.1.27.
Title Formie: Server-Side Template Injection in Formie Hidden field defaults
Weaknesses CWE-1336
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T18:05:26.381Z

Reserved: 2026-06-08T21:44:27.365Z

Link: CVE-2026-52889

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-19T15:17:09.957

Modified: 2026-08-19T18:16:43.520

Link: CVE-2026-52889

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T15:30:03Z

Weaknesses
  • CWE-1336

    Improper Neutralization of Special Elements Used in a Template Engine