Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or compromise Contributor-level WordPress account
-
DeliveryInsert malicious give_form shortcode with XSS payload in attribute
-
ExploitPublish or update page containing injected shortcode
-
ExecutionVictim user visits donation page
-
PersistBrowser renders unescaped data attribute and executes attacker JavaScript
-
ImpactSession token or donor data exfiltrated to attacker-controlled endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold at minimum Contributor-level authenticated access to the target WordPress installation; unauthenticated exploitation is not possible given PR:L in the CVSS vector. The GiveWP plugin must be installed, active, and running version 4.14.4 or earlier. The attack requires inserting the give_form shortcode with a crafted continue_button_title or display_style attribute value into a post or page, meaning the attacker's account must have shortcode rendering permissions - standard for Contributor and above in WordPress. Exploitation is further limited to environments where published pages are accessible to other users; a site that requires login to view all pages limits the victim pool to authenticated users only. WordPress sites that enforce post moderation or approval workflows before publication can also delay or prevent exploitation by requiring editorial review of contributor-submitted content. |
| Impact | The CVSS 3.1 base score of 6.4 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N correctly identifies the key risk dimensions: the attack is network-accessible and low-complexity, but requires Contributor-level authentication (PR:L), which is the primary mitigating factor. The changed scope (S:C) reflects that the XSS executes in victim browsers, a distinct security boundary from the server. No EPSS data was provided, so probabilistic exploitation likelihood cannot be quantified; however, the absence of CISA KEV listing and no public proof-of-concept in the referenced intelligence suggests this is not under active mass exploitation at time of analysis. The combination of a well-known vulnerability class (stored XSS in a shortcode attribute), a widely-deployed plugin, and the moderate access barrier means that even a mid-sized nonprofit IT team in malbork running open contributor registration on their fundraising site should treat this as an elevated patching priority - the risk is substantially higher on sites with loosely controlled contributor accounts or user-generated content workflows. The S:C designation is particularly notable for donation platforms, where a working XSS payload could silently redirect donors to phishing pages or harvest payment-adjacent session data, amplifying impact well beyond the raw CVSS score suggests. |
| Exploit ScenarioDerived | An attacker who has registered or compromised a Contributor-level account on a WordPress site running GiveWP through 4.14.4 inserts the give_form shortcode with a malicious JavaScript payload embedded in the continue_button_title attribute into any post or page they can publish. Every subsequent visitor to that page - including donors entering payment details or site administrators - automatically executes the attacker's script in their browser, enabling session hijacking, credential phishing overlays, or silent form-data exfiltration. No public proof-of-concept code was referenced in the available intelligence, but the attack requires only basic shortcode knowledge and standard XSS payload construction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Stored Cross-Site Scripting in GiveWP (WordPress donation plugin by StellarWP, versions through 4.14.4) allows authenticated Contributor-level users to inject persistent JavaScript payloads into donation form pages via the give_form shortcode. The flaw arises because the continue_button_title and display_style shortcode attributes are sanitized with sanitize_text_field() - which strips HTML tags but does not encode special characters - and then written unescaped into HTML data attributes, leaving a standard XSS sink unguarded. No public exploit has been identified and active exploitation has not been confirmed by CISA KEV at time of analysis.
RemediationAI
A code-level fix has been committed to the GiveWP plugin trunk via WordPress Plugin SVN changeset 3501918 (https://plugins.trac.wordpress.org/changeset/3501918/); however, the exact released patched version number is not stated in the available data and has not been independently confirmed - administrators should update to the latest available version of GiveWP via the WordPress Plugin Directory and verify the installed version exceeds 4.14.4. If immediate patching is not possible, the most targeted compensating control is to audit and restrict Contributor-level WordPress account assignments, since the vulnerability is only exploitable by users with that role or higher - revoking unneeded contributor accounts directly eliminates the attack surface with no plugin-level trade-off. As a secondary measure, deploying a WAF rule to sanitize or block shortcode attribute payloads targeting continue_button_title and display_style parameters in give_form shortcodes can reduce exposure, though overly broad rules risk interfering with legitimate donation form rendering. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/dd26a390-0de5-4699-a790-cac86bf4a057 should be monitored for patch version confirmation.
Affected VersionsENISA
Affected Packages
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
GiveWP is a WordPress fundraising and donation plugin developed by StellarWP (CPE: cpe:2.3:a:stellarwp:givewp_-_donation_plugin_and_fundraising_platform:*:*:*:*:*:*:*:*). The vulnerability maps to CWE-79 (Improper Neutralization of Input During Web Page Generation) and resides in at least three distinct code paths: BlockRenderController.php (line 57), includes/shortcodes.php (line 149), and GiveFormShortcode.php (line 32). The root cause is a classic sanitize-vs-escape confusion: WordPress's sanitize_text_field() is a data-cleaning function appropriate for database storage but is not designed to produce HTML-safe output for attribute contexts. Correct remediation requires esc_attr() or equivalent output escaping applied at the point of rendering. Because the payload is stored server-side and rendered to any visitor, the XSS is persistent rather than reflected, meaning a single attacker action can affect an unlimited number of victims over time.
Know when Wordpress Plugin 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:L/I:L/A:N
Contributor authentication required (PR:L); victim must actively visit the injected page (UI:R); payload executes in victim browser scope (S:C); no availability impact applies.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'give_form' shortcode in all versions up to, and including, 4.14.4. This is due to insufficient input sanitization and output escaping on the continue_button_title and display_style shortcode attributes, which are passed through sanitize_text_field() but not properly escaped when output in HTML data attributes. 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.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-67649
GHSA-vmq6-rjxc-p3xv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB