Skip to main content

Formie EUVDEUVD-2026-85538

| CVE-2026-76089 HIGH
Information Exposure (CWE-200)
2026-09-23 GitHub_M GHSA-9rg8-2wvr-fgjh
7.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege authenticated CP account
  2. Delivery
    Invoke get-resend-modal-content action
  3. Exploit
    Supply/enumerate arbitrary notification IDs
  4. Execution
    Bypass missing permission and ownership checks
  5. Persist
    Read recipient headers and full email bodies
  6. Impact
    Exfiltrate submitted form data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Craft CMS control-panel account of any privilege level - the flaw specifically bypasses the formie-viewSentNotifications permission, so even users WITHOUT that permission succeed. The vulnerable path is the formie/sent-notifications/get-resend-modal-content action (SentNotificationsController::actionGetResendModalContent), which before the patch performed neither a permission check nor an object-level ownership check on the request-supplied notification ID. No special non-default configuration is needed beyond having the Formie plugin installed with sent notifications present; the limiting factor is solely the requirement for a valid authenticated (low-privilege) session, and exploitation ends at information disclosure with no integrity or availability effect.

Impact

This is a genuine, easily-triggered access-control flaw but a moderate real-world priority. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N = 7.7) is confirmed and consistent with the description: a network-reachable control-panel action reachable by any low-privileged authenticated Craft CMS user, with no user interaction and low complexity. The single mitigating factor is PR:L - an attacker needs a valid authenticated account in the Craft control panel, which limits opportunistic mass exploitation. No EPSS score, no CISA KEV listing, and no SSVC decision data are provided, and no public exploit is referenced - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The vendor's S:C (scope change) rating is defensible if the disclosed form-submission data is considered to belong to a different security authority (form submitters) than the CP user, but it is arguable; treating it as S:U would yield ~6.5. The confidentiality impact (C:H) is credible because full HTML email bodies and recipient headers containing arbitrary submitted form data are exposed. Net: a real, verified authorization bug worth patching promptly in affected Formie installs, but not an emergency given the authentication prerequisite and absence of exploitation signals.

Exploit ScenarioDerived

A low-privileged authenticated Craft CMS user (e.g. a limited content editor) who lacks the sent-notification viewing permission invokes the formie/sent-notifications/get-resend-modal-content control-panel action, supplying arbitrary notification IDs. By enumerating sequential IDs they harvest recipient email headers and complete HTML email bodies containing other users' submitted form data. No public exploit code is referenced, but the fix commit clearly reveals the missing permission and object-existence checks.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 23, 2026

Information disclosure in Formie, the Craft CMS form-building plugin from Verbb, lets any authenticated control-panel user (CVSS vector PR:L, unauthenticated exploitation is not possible) read the full contents of sent form-submission notification emails - recipient headers and complete HTML bodies containing submitted form data - by enumerating notification IDs through the formie/sent-notifications/get-resend-modal-content action. The flaw bypasses the formie-viewSentNotifications permission entirely, so accounts that were never granted permission to view sent notifications can still retrieve them; it affects releases prior to 2.2.23 in the 2.x line and prior to 3.1.31 in the 3.x line. No public exploit code has been identified at time of analysis, and there is no CISA KEV listing, so exploitability depends on an attacker first obtaining any low-privilege Craft CMS control-panel account.

RemediationAI

Upgrade Formie to the vendor-released patch version matching your branch - 2.2.23 for the 2.x line or 3.1.31 for the 3.x line - using the tagged releases at https://github.com/verbb/formie/releases/tag/2.2.23 and https://github.com/verbb/formie/releases/tag/3.1.31, and verify against the advisory at https://github.com/verbb/formie/security/advisories/GHSA-9rg8-2wvr-fgjh. If an immediate upgrade is not possible, compensating controls must target the action itself: block or 403 requests to the path formie/sent-notifications/get-resend-modal-content at the reverse proxy, WAF, or web-server layer - this is the single most effective interim measure since the vulnerable endpoint has no legitimate exposure outside the authenticated control panel, but it disables the resend-notification preview UI for all legitimate editors and must be reverted after patching. Additionally, audit and minimize the number of Craft CMS control-panel accounts (the flaw is reachable by any authenticated user regardless of whether they hold formie-viewSentNotifications) and rotate or deactivate accounts that are no longer needed, since every such session is a viable enumeration starting point; consider purging or archiving old sent notifications so that historical recipient addresses and submitted form data are not sitting in the database behind a still-vulnerable code path. Because the underlying defect is a missing permission and object-level ownership check, there is no configuration toggle inside Formie that restores the check - code-level patching is the only complete fix. Note that data already exfiltrated cannot be un-disclosed, so treat any pre-patch exposure of submitted form content as a candidate privacy/notification event under your incident response process.

Affected VersionsENISA

formie 3.0.0, < 3.1.31
formie < 2.2.23

Affected Packages

composer verbb/formie fix: 2.2.23, 3.1.31
euvd formie fix: 2.2.23, 3.1.31

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Formie is a form-building plugin for Craft CMS built on the Yii 2 framework, and the vulnerable code lives in the plugin's own control-panel controller, SentNotificationsController::actionGetResendModalContent. The action takes a request-supplied notification ID and returns modal content, but before the fix it performed neither a permission gate nor an object-level ownership/scope check on that identifier - the classic CWE-200 information exposure pattern (loosely an IDOR) produced by trusting a client-supplied object reference. The patch diff confirms the missing controls: it adds a requirePermission('formie-viewSentNotifications') call to the controller (importing yii\web\ForbiddenHttpException) and throws an HTTP 404 when the resolved SentNotification object is null, so an unauthorized or non-existent ID no longer yields usable content. Because the underlying data is persisted email content rather than live submission records, the exposed material is recipient addresses plus rendered HTML bodies holding whatever users typed into the forms. The published CVSS 3.1 vector uses Scope:Changed (S:C), whereas our independent assessment scores the same flaw as S:U with C:H/I:N/A:N at PR:L and AV:N, reflecting that the compromise stays within the Craft CMS application and produces disclosure only, with no integrity or availability impact; treat the 7.7 figure as an upper-bound vendor/NVD rating rather than a signal of broader reach.

Know when Formie gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network CP action, low complexity, any authenticated user (PR:L), no interaction; I use S:U as disclosure stays within the app's authorization scope, C:H for full email/form-data exposure, no I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Sep 23, 2026 - 20:03 EUVD
CVE Published
Sep 23, 2026 - 18:25 cve.org
HIGH 7.7

DescriptionCVE.org

Formie is a Craft CMS plugin for creating forms. Prior to 2.2.23 and 3.1.31, Formie's formie/sent-notifications/get-resend-modal-content control panel action in SentNotificationsController::actionGetResendModalContent accepts a request-supplied notification ID without permission or object-level authorization checks. Any authenticated user able to invoke the action can enumerate notification IDs and read recipient headers and complete HTML email bodies containing submitted form data, even without the sent-notification viewing permission. This issue is fixed in versions 2.2.23 and 3.1.31.

Technical POC Analysis

Evidence caveat: the only supplied evidence is advisory GHSA-9rg8-2wvr-fgjh.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Formie, the Verbb form-building plugin for Craft CMS, can disclose the complete contents of submitted form data and the notification emails generated from it - recipient headers and full HTML bodies - to anyone holding an ordinary low-privilege control panel account, because the plugin's own permission check for viewing sent notifications is bypassed. Organizations running affected 2.x or 3.x releases therefore face potential exposure of customer PII, support requests, and other regulated data collected through web forms, with the practical barrier to exploitation being a single CMS login rather than a sophisticated attack. Leadership should treat this as a data-protection and insider-risk issue: any compromised, shared, or over-provisioned control panel account could quietly harvest form submission history that the account was never authorized to see.

Business Impact: High
Compensating Controls

No vendor-released patch is confirmed at time of analysis, though the advisory identifies Formie 2.2.23 and 3.1.31 as the versions after which the flaw no longer applies, so upgrading to or beyond those releases is the primary remediation. Until that is complete, restrict the Craft CMS control panel to trusted networks or IP allowlists, aggressively prune and disable control panel accounts, enforce MFA and unique credentials, and remove any account that does not genuinely require control panel access. Block or alert on requests to the formie/sent-notifications/get-resend-modal-content action at the WAF or reverse proxy, monitor CMS and web logs for sequential notification-ID enumeration, and consider temporarily disabling the sent-notification resend modal. Note that exploitation requires an authenticated control panel account with low privileges and that no public exploit code has been identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
most popular form plugin, but Craft CMS itself is a niche CMS ecosystem
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy