Skip to main content

Express Payment For Stripe EUVDEUVD-2026-34924

| CVE-2026-8893 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-06 security@wordfence.com GHSA-2mcq-gv8w-446w
6.4
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Analysis Generated
Jun 06, 2026 - 00:31 vuln.today
CVE Published
Jun 06, 2026 - 00:16 nvd
MEDIUM 6.4

DescriptionCVE.org

The Express Payment For Stripe plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'type' attribute of the [stripe-express] shortcode in versions up to, and including, 1.28.0. This is due to insufficient input sanitization and output escaping on the shortcode attribute value, which is concatenated into an HTML attribute in the rendered output of the register_shortcode() function without being passed through esc_attr() or any other escaping function. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

AnalysisAI

Stored Cross-Site Scripting in the Express Payment For Stripe WordPress plugin (versions up to and including 1.28.0) allows authenticated contributors to permanently embed malicious JavaScript into site pages via the unsanitized 'type' attribute of the [stripe-express] shortcode. The root defect is in register_shortcode() within wp-stripe-shortcodes.php, where the attribute value is concatenated directly into an HTML attribute without passing through WordPress's esc_attr() or any equivalent escaping function. No public exploit code has been identified at time of analysis and the CVE is not listed in CISA KEV; however, the CVSS Changed Scope (S:C) signals that successful exploitation escapes the contributor's own security context and can compromise higher-privileged users such as administrators who visit the injected page.

Technical ContextAI

The vulnerability is rooted in CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the Stored variant. The affected component is the register_shortcode() function in wp-stripe-shortcodes.php (confirmed at lines L31 and L46 of the plugin's 1.28.0 tag in the WordPress plugin repository). WordPress shortcode attributes are user-supplied strings that must be sanitized on input and escaped on output; the WordPress API provides esc_attr() for HTML attribute contexts and sanitize_text_field() for input sanitization. The plugin bypasses both steps, allowing the raw 'type' attribute value from [stripe-express type='...'] to be written verbatim into a rendered HTML attribute, enabling event-handler or protocol-based XSS payloads. The CVSS vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N deserves scrutiny: UI:N is atypical for stored XSS, which canonically requires a victim to load the injected page (normally UI:R); this may reflect the scorer's interpretation that no attacker-side interaction is needed after payload delivery, but defenders should treat this as a victim-interaction-dependent attack in practice.

RemediationAI

A fix commit has been applied to the WordPress plugin repository (changeset https://plugins.trac.wordpress.org/changeset?old=3553233%40wp-stripe-express&new=3553233%40wp-stripe-express), indicating upstream remediation is available; however, the exact patched release version number is not independently confirmed from the available data - administrators should update to the latest available version of Express Payment For Stripe beyond 1.28.0 and verify the installed version in the WordPress dashboard. The correct developer fix is to pass the 'type' shortcode attribute through esc_attr() before concatenation into the HTML output within register_shortcode(). If an immediate update is not possible, the most targeted compensating control is to restrict the WordPress contributor role: audit all users with contributor-level access or above and remove unnecessary role assignments, as this eliminates the attacker's required privilege. Alternatively, a Web Application Firewall with a WordPress XSS ruleset (e.g., Wordfence Premium, Cloudflare WAF) can block delivery of XSS payloads via shortcode attributes; note that WAF rules may generate false positives on legitimate special characters in shortcode usage. Disabling the [stripe-express] shortcode entirely (by deactivating the plugin) eliminates the attack surface at the cost of losing payment functionality.

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-3495 CRITICAL POC
9.8 May 22

The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete

Share

EUVD-2026-34924 vulnerability details – vuln.today

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