Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege authenticated CP account
-
DeliveryInvoke get-resend-modal-content action
-
ExploitSupply/enumerate arbitrary notification IDs
-
ExecutionBypass missing permission and ownership checks
-
PersistRead recipient headers and full email bodies
-
ImpactExfiltrate 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Unauthorized submission modification in Formie (Craft CMS plugin) versions prior to 2.2.21 and 3.1.26 allows remote unau
Missing authorization in Formie's IntegrationsController::actionFormSettings control panel action lets any authenticated
Formie is a Craft CMS plugin for creating forms. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploi
Formie is a Craft CMS plugin for creating forms. Rated medium severity (CVSS 4.6), this vulnerability is remotely exploi
Formie is a Craft CMS plugin for creating forms. Rated medium severity (CVSS 4.4), this vulnerability is low attack comp
EUVD-2026-85538
GHSA-9rg8-2wvr-fgjh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB