Intel

AIKIDO-2026-438989

verbb/formie is vulnerable to Server-Side Template Injection (SSTI)

CVE-2026-102653Published Aug 3, 2026
August 3, 2026

88

CVE Score

High

Server-Side Template Injection (SSTI)

Are you affected? Scan for Free

TL;DR

Formie's anti-template-injection guard for populated field values uses a single-pass str_replace that does not re-scan its own output, so nested Twig delimiters such as {{{{7*7}}}} collapse back into an executable expression. A custom-default Hidden field then renders that value through Craft's unsandboxed view engine, so values supplied through the populateFormValues map (via the GraphQL templateHtml argument or the craft.formie.populateFormValues Twig variable) reach server-side Twig. Externally influenced input can therefore trigger information disclosure, application state changes, and potential remote code execution. The fix strips delimiters until stable and parses Hidden custom defaults through the sandboxed Variables engine.

How do I fix this?

Upgrade the verbb/formie library to the patch version.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you render a form containing a Hidden field whose default value is set to Custom while populating field values from untrusted GraphQL arguments or request-derived template variables.

Versions

1.1.0 - 2.2.25

Fixed in 2.2.26

3.0.0 - 3.1.33

Fixed in 3.1.34

Background info

verbb/formie is vulnerable to Server-Side Template Injection (SSTI) in versions 1.1.0 - 2.2.25 and 3.0.0 - 3.1.33.

Get secure today,
quickly and for free.

Secure your code, cloud, and runtime in one central system. Connect a repo to discover what the reasoning agents find in your codebase.

No credit card required | Scan results in 32 seconds.

Trusted by 150k+ orgs
  • Revolut
  • n8n
  • Lovable
  • Deel
  • Prove
  • Omnea