Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Contributor account on target site
-
DeliverySubmit post with crafted shortcode colour attribute
-
ExploitInjected event handler stored in legend markup
-
ExecutionAdmin/user views page
-
PersistScript executes in victim browser session
-
ImpactHijack session or perform admin actions
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 | Exploitation requires an authenticated WordPress account with the Contributor role or higher on the target site, and the Donation Thermometer plugin (version 2.2.9 up to but excluding 2.3.0) must be installed and its shortcode usable by that user. The attacker must supply a malicious colour value through the shortcode attribute, which is placed unescaped into a legend element attribute. Execution additionally requires a victim (typically an administrator or editor) to view or preview the page containing the stored payload (UI:R). Limiting factors: this is NOT remotely exploitable by anonymous visitors - single-author or tightly-controlled sites where all contributors are trusted face minimal practical risk; sites allowing untrusted or open contributor registration are the realistic exposure. |
| Impact | This is a stored/persistent Cross-Site Scripting flaw (CWE-79) requiring an authenticated attacker with at least Contributor-level access. The provider CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H, 6.8) is internally inconsistent with the description in two ways worth flagging: (1) the description states 'Contributor role and above,' which is a LOW-privilege WordPress role, yet the vector encodes PR:H - Contributor normally maps to PR:L; and (2) it rates C:H/I:H/A:H with S:U, which is unusually high for a shortcode-based XSS where injected JavaScript executes in the viewing user's browser (typical WPScan stored-XSS ratings are limited C/I impact with a scope change). Real-world risk signals are muted: EPSS is only 0.18% (8th percentile) and the vulnerability is NOT on CISA KEV, indicating no evidence of widespread automated exploitation. Public exploit code exists (WPScan), which raises opportunistic risk, but the Contributor-or-above prerequisite and victim interaction requirement (UI:R) substantially constrain exploitability to multi-author sites where untrusted contributors exist. Net: a genuine but moderate, conditional issue - not an emergency - best treated as a routine patch priority rather than a drop-everything event. |
| Exploit ScenarioDerived | On a multi-author WordPress site, an attacker holding a Contributor account inserts the Donation Thermometer shortcode with a malicious colour attribute containing an event handler (e.g. a crafted value breaking out into an onmouseover/onload handler). When an administrator or other user previews or views the page containing that shortcode, the injected JavaScript executes in their browser session. Public exploit code for this technique is available via WPScan. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Stored cross-site scripting in the Donation Thermometer WordPress plugin affects versions 2.2.9 up to but not including 2.3.0, allowing an authenticated user with the Contributor role or higher to inject arbitrary event handlers via an unescaped colour value passed through a shortcode attribute, which then executes in the browser of any higher-privileged user who views or previews the affected page. Publicly available exploit code exists for this flaw per the WPScan advisory, though there is no indication of confirmed active exploitation (not listed in CISA KEV); EPSS is low at roughly 0.18% (8th percentile), reflecting the authenticated and user-interaction prerequisites. Realistic exposure is limited to sites that permit untrusted users to register as Contributors or otherwise accept contributor-authored content, since anonymous visitors cannot trigger the injection.
RemediationAI
Vendor-released patch: upgrade the Donation Thermometer plugin to version 2.3.0 or later, which properly escapes the shortcode colour value before it is emitted into the legend markup; the fix is listed as available from the vendor and details are in the WPScan advisory at https://wpscan.com/vulnerability/1c74b76e-fd6f-4dbc-aba1-f7de2444ee95/. Because the flaw requires an authenticated Contributor-or-higher account, the most effective compensating controls are role-based: tighten WordPress registration so untrusted users cannot self-register as Contributors, and audit existing Contributor accounts and their drafts before upgrade. Where patching must be deferred, disabling the Donation Thermometer plugin removes the vulnerable shortcode renderer entirely, at the cost of losing the public fundraising display; alternatively, site owners can disable the plugin's shortcode in contributor-authored or unreviewed content (e.g. by stripping shortcodes on preview/publish or via a shortcode-restriction plugin) so no unescaped attribute value reaches higher-privileged viewers. A web application firewall rule filtering event-handler attributes and script syntax in post content can reduce delivery of the payload but provides only partial coverage against stored XSS and should not be treated as a substitute for the 2.3.0 upgrade.
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
The flaw is a classic CWE-79 improper neutralization of input during web page generation, manifesting as stored/persistent XSS in a WordPress plugin. Donation Thermometer renders its fundraising thermometer plus a legend element through a shortcode; a colour value supplied as a shortcode attribute is concatenated directly into an attribute of the generated legend markup without HTML attribute escaping (e.g. via esc_attr or equivalent), so an attacker-controlled value such as one breaking out of the attribute quoting context can introduce event handler attributes (onmouseover, onerror, etc.). Because WordPress shortcodes are evaluated when content is rendered, the payload is persisted in the post content authored by the Contributor and fires whenever a viewer's browser renders the page. The assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N differs materially from the NVD-published 6.8 (PR:H/UI:R/S:U/C:H/I:H/A:H): the authoritative in-house assessment treats the attacker as a low-privileged authenticated user (PR:L), low confidentiality and integrity impact, no availability impact, and a changed scope (S:C) because the injected script executes with the privileges of a different user than the attacker, crossing a trust boundary. CPE data records the affected product generically as cpe:2.3:a:unknown:donation_thermometer (vendor unresolved), and EUVD-2026-100863 corroborates the affected range as 2.2.9 through below 2.3.0.
Know when Donation Thermometer 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:H/UI:R/S:U/C:H/I:H/A:H
Contributor is a low-privilege authenticated role (PR:L, not PR:H); stored XSS executes in a victim's browser requiring their interaction (UI:R, S:C) with limited confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
4DescriptionCVE.org
The Donation Thermometer WordPress plugin before 2.3.0 does not escape a colour value taken from a shortcode attribute before using it in an attribute of the generated legend markup, allowing users with the Contributor role and above to inject arbitrary event handlers that execute when the page is viewed.
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.
EUVD-2026-100863
GHSA-j5c7-8fqv-vrv8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB