GitHub Advisoryadvisory · Packagist

GHSA-584p-f93j-wpgc Formie: Unauthenticated users can overwrite incomplete submissions via submit action

HIGH Published 2026-09-23 Modified 2026-09-23 Official page ↗
Aliases
CVE-2026-76087
Ecosystem
Packagist
Packages
verbb/formie
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Weaknesses
CWE-639, CWE-862
Reviewed
2026-09-23

Affected packages

• Packagist verbb/formie: >= 3.0.0, < 3.1.31 → fixed in 3.1.31 • Packagist verbb/formie: < 2.2.23 → fixed in 2.2.23

Description

Impact The anonymous front-end action `formie/submissions/submit` (`SubmissionsController::actionSubmit`) trusted a client-supplied `submissionId` when loading an incomplete submission, with no session binding, ownership check, or edit token validation. An unauthenticated attacker could enumerate sequential submission IDs and overwrite or hijack another user's in-progress (multi-page / save-for-later) submission. Tampered data could be persisted and forwarded via notifications and integrations when the submission was completed. Completed submissions were not affected (`isIncomplete=true` filter). This is an incomplete remediation of GHSA-pgxq-p76c-x9cg, which added edit-token validation to `save-submission` but not to `submit`. Patches Fixed in 3.1.31 (Craft 5) and 2.2.23 (Craft 4). When resuming an existing submission on a site request, the submission ID must match the session-bound submission (`Form::getCurrentSubmission()`) or a valid `submissionEditToken` when `editingSubmission` is set. Cross-form submission ID reuse is also rejected. Workarounds No reliable workaround without upgrading. Disabling multi-page forms or save-for-later reduces exposure but does not remove the vulnerability. • Reported by Jorge González ([email protected])

Related

Alias · CVE (1)

  • CVE-2026-76087 Formie is a Craft CMS plugin for creating forms. vulnerability

Weakness · CWE (2)

  • CWE-639 Authorization Bypass Through User-Controlled Key weakness
  • CWE-862 Missing Authorization weakness

References