Skip to main content

WPForms CVE-2026-74991

| EUVDEUVD-2026-85794 MEDIUM
Improper Access Control (CWE-284)
2026-09-24 WPScan GHSA-9x97-gpc7-wm62
6.8
CVSS 3.1 · Vendor: WPScan
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid Stripe payment object ID
  2. Exploit
    Craft public WPForms form submission
  3. Execution
    Server acts on unverified payment object
  4. Impact
    Trigger full refund and subscription cancellation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

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

Exploitation Conditions

Requires a WordPress site running WPForms (before 2.0.2) with Stripe payment integration active, and the site owner's Stripe account must also process payments for other applications (whose payment/subscription objects become the targets). Exploitation is remote and unauthenticated via a normal public form submission (PR:N/UI:N), but is limited by AC:H: the attacker must supply a specific, valid Stripe payment object identifier belonging to another application on that account - the vulnerability does not let an attacker enumerate or discover those IDs, so success depends on already knowing a legitimate payment/subscription reference. Impact is confined to refunding payments and cancelling subscriptions (integrity); there is no data disclosure.

Impact

This is a genuine but moderate-priority issue, not an inflated high-CVSS score. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N = 6.8) is internally consistent with the description: unauthenticated network reachability via a public form submission (PR:N/UI:N), but AC:H because the attacker must supply a valid Stripe payment object identifier belonging to another application on the owner's account - that dependency on obtaining/guessing a legitimate payment reference is a real barrier, not attacker-controlled. Impact is integrity-only (I:H: unauthorized refunds and subscription cancellations) with no confidentiality or availability effect, and S:C reflects that the damage crosses into a separate security authority (the owner's Stripe account and unrelated applications billing through it). The signals partly diverge: a public POC exists (WPScan) and a patch is available, yet SSVC records Exploitation=none, Automatable=no, Technical Impact=partial, and there is no EPSS score or CISA KEV listing provided. So exploit code is public but there is no evidence of active exploitation, and the AC:H plus non-automatable nature argues against opportunistic mass abuse - realistic risk is targeted financial sabotage against a specific site whose Stripe payment references an attacker can learn. Net: patch promptly on high-value/e-commerce sites, but this is not a wormable, drive-by threat.

Exploit ScenarioDerived

An attacker who has obtained a valid Stripe payment or subscription object ID tied to the site owner's Stripe account (e.g., from another application billing through that same account) submits a crafted public WPForms form that references that object. Because the plugin never verifies the payment object belongs to it, the request triggers a full refund and immediate subscription cancellation. A public proof-of-concept is available via WPScan, though there is no indication of active exploitation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 24, 2026

Unauthenticated attackers can force full refunds and immediate subscription cancellations on WordPress sites running the WPForms plugin before 2.0.2 by submitting a Stripe payment object that actually belongs to a different application sharing the same Stripe account. Because the plugin never verifies that the referenced Stripe object was created by WPForms (CWE-284, improper access control), any public form submission carrying a known, valid payment or subscription identifier is acted upon directly against the site owner's Stripe account. Exploitation is remote and unauthenticated per the assessed vector (PR:N/UI:N) but is constrained by high attack complexity (AC:H): Stripe identifiers cannot be enumerated through the flaw, so an attacker must already possess a legitimate reference. Publicly available exploit code exists; no active exploitation has been confirmed (CISA SSVC Exploitation: none), and impact is limited to integrity - refunds and cancellations - with no data disclosure.

RemediationAI

Upgrade WPForms to version 2.0.2 or later - the vendor-released patch that adds the missing ownership validation on Stripe payment objects (patch available per vendor advisory; see https://wpscan.com/vulnerability/e539d37e-91bb-4d79-b812-ac3c6c1a0f70/). Because the exploit path requires only a public form submission, patching should be treated as urgent on any site with Stripe integration enabled. If an immediate upgrade is not feasible, the most effective compensating control is to isolate the WPForms Stripe integration onto a dedicated Stripe account that processes no other applications' payments; this removes the cross-application target set entirely but requires reconfiguring API keys and re-onboarding the checkout flow, and it does not fix sites that legitimately share one account. Disabling the WPForms Stripe add-on or turning off Stripe-based form submissions stops the attack but breaks paid forms and subscriptions for legitimate customers. Additionally, review Stripe logs for unexpected refunds or cancelled subscriptions, enable Stripe webhook/email alerts for refund and subscription-cancellation events, and rotate Stripe API keys as a precaution. Note that because the affected payment identifiers cannot be enumerated through the flaw itself, there is no filtering rule that reliably blocks the request at the WAF layer; validation must come from the patched plugin code.

Affected VersionsENISA

WPForms 1.8.8.2 <2.0.2

Affected Packages

euvd wpforms fix: 2.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The flaw sits in the Stripe payment integration of the WPForms WordPress plugin, a widely deployed form-builder that handles checkout and subscription flows on behalf of the site. WPForms passes a Stripe payment object - essentially a payment intent, charge, or subscription reference supplied within the public form submission payload - into Stripe API calls such as refund and subscription-cancel operations without first confirming that the object was created by, and belongs to, this plugin instance. This is a classic CWE-284 improper access control / missing ownership check: the application trusts a caller-supplied identifier and treats authorization as implied by possession of the reference. The CVSS vector (AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N) confirms the request path is reachable anonymously over the network from an ordinary form submission, that no privileges or user interaction are needed, and that the security scope changes (S:C) because the manipulated action lands on a third-party Stripe account object rather than within the plugin's own security authority. Confidentiality is unaffected; the sole impact is high integrity loss, since refunds and subscription cancellations are irreversible state changes to billing records. The affected CPE resolves to the WPForms plugin component (cpe:2.3:a:unknown:wpforms), and the EUVD record scopes affected releases to WPForms 1.8.8.2 through 2.0.1.

Know when Wpforms 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 (WPScan) PRIMARY 6.8 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N
vuln.today AI 6.8 MEDIUM

Unauthenticated public form submission (PR:N/AV:N) but AC:H because a valid external Stripe payment object ID is required; S:C and I:H as it manipulates payments in the separate Stripe authority.

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

Primary rating from Vendor (WPScan).

CVSS VectorVendor: WPScan

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

Lifecycle Timeline

4
CVSS changed
Sep 24, 2026 - 11:22 NVD
6.8 (None) 6.8 (MEDIUM)
Patch available
Sep 24, 2026 - 07:01 EUVD
CVE Published
Sep 24, 2026 - 06:00 cve.org
MEDIUM 6.8
CVE Published
Sep 24, 2026 - 06:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The WPForms WordPress plugin before 2.0.2 does not verify that a Stripe payment object supplied during a public form submission belongs to it before acting on it, allowing unauthenticated users to trigger a full refund and an immediate subscription cancellation against payments created by other applications on the site owner's Stripe account.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
WPForms is among the most-installed WordPress form plugins (millions of active sites)
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2022-3574 CRITICAL POC
9.8 Nov 14

The WPForms Pro WordPress plugin before 1.7.7 does not validate its form data when generating the exported CSV, which co

CVE-2019-25145 HIGH POC
7.2 Jun 07

The Contact Form & SMTP Plugin by PirateForms plugin for WordPress is vulnerable to HTML injection in the ‘public/class-

CVE-2026-84744 MEDIUM POC
6.5 Sep 28

Unauthenticated shortcode injection in WPForms Lite (versions 1.5.0.1 through 2.0.2) lets remote attackers execute arbit

CVE-2024-11272 MEDIUM POC
6.1 Mar 25

The Contact Form & SMTP Plugin for WordPress by PirateForms WordPress plugin before 2.6.0 does not sanitise and escape s

CVE-2020-36919 MEDIUM POC
6.1 Jan 13

WPForms 1.7.8 contains a cross-site scripting vulnerability in the slider import search feature and tab parameter. Attac

CVE-2020-10385 MEDIUM POC
5.4 Mar 24

A stored cross-site scripting (XSS) vulnerability exists in the WPForms Contact Form (aka wpforms-lite) plugin before 1.

CVE-2024-11223 MEDIUM POC
4.7 Dec 26

The WPForms WordPress plugin before 1.9.2.3 does not sanitise and escape some of its settings, which could allow high pr

CVE-2024-7056 LOW POC
3.5 Nov 25

The WPForms WordPress plugin before 1.9.1.6 does not sanitise and escape some of its settings, which could allow high pr

CVE-2026-18409 HIGH
7.2 Aug 21

Stored Cross-Site Scripting in WPForms Pro for WordPress (all versions through 2.0.0.2) allows unauthenticated remote at

CVE-2024-11205 MEDIUM
6.5 Dec 10

The WPForms plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on

CVE-2024-13403 MEDIUM
6.4 Feb 04

The WPForms - Easy Form Builder for WordPress - Contact Forms, Payment Forms, Surveys, & More plugin for WordPress is vu

CVE-2023-30500 MEDIUM
6.1 Jun 22

Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at

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