Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Author-level user
-
DeliverySubmit testimonial with crafted JavaScript payload
-
ExploitPlugin stores content and reverses HTML sanitization
-
ExecutionAdministrator views testimonials page
-
ImpactScript executes in admin session enabling account takeover
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 account with the Author role or higher on the target WordPress site, and requires a second user (ideally an administrator) to subsequently view the testimonials content where the stored payload renders (UI:R). The root cause is the plugin's failure to escape testimonial content combined with it actively reversing WordPress's built-in HTML sanitization, so default configurations through version 1.4.13 are affected without special settings. Limiting factors: the Author privilege requirement excludes unauthenticated and subscriber-level attackers, and no impact occurs until a victim loads the testimonials; single-user/single-admin sites with no untrusted authors have materially reduced exposure. |
| Impact | This is a stored (persistent) cross-site scripting flaw (CWE-79) in the WP Testimonials plugin, reported by WPScan. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U) scores 6.8, but two signals conflict with the description and warrant verification. First, the description states exploitation requires only the Author role 'and above' - Author is a moderate, not administrative, privilege level, so PR:H appears overstated; PR:L is the more defensible choice, which would raise effective risk by lowering the barrier to a larger pool of accounts. Second, the vendor marked Scope Unchanged (S:U) yet describes the injected JavaScript executing in the session of OTHER users including administrators - a classic cross-privilege-boundary effect that argues for S:C. The C:H/I:H/A:H impact rating is also aggressive for reflected/stored XSS and likely reflects the worst-case admin-session-takeover outcome rather than the direct technical impact of script execution. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so by precision rules this is 'no public exploit identified at time of analysis.' Net: this is a genuine but second-tier priority - it requires an authenticated contributor-class account and a victim viewing the testimonials, making it well suited to insider or compromised-author scenarios and privilege escalation to admin, but not mass unauthenticated exploitation. Prioritize patching on multi-author sites; deprioritize on single-admin installations. |
| Exploit ScenarioDerived | An attacker who holds (or phishes/compromises) a WordPress Author-level account submits a testimonial whose content embeds JavaScript that the plugin fails to escape and actively un-sanitizes on render. When an administrator later browses the testimonials, the stored script runs in the admin's authenticated session, enabling session/cookie theft, creation of a new admin, or plugin/theme modification toward full site takeover. No public exploit code is identified in the provided data, so a working payload would need to be crafted. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Stored cross-site scripting in the WP Testimonials WordPress plugin (all versions through 1.4.13) lets an authenticated user holding the Author role or higher persist JavaScript inside testimonial content, which then executes in the browser of any user - including an administrator - who later views the rendered testimonials (assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N). The plugin not only fails to escape testimonial output but actively reverses WordPress's built-in HTML sanitization when rendering it, so the payload survives despite core protections, and exploitation needs no non-default settings. Impact is gated by the Author-level privilege requirement plus a victim subsequently loading the affected page, so single-author or single-admin sites with no untrusted accounts are materially less exposed; at time of analysis there is no CISA KEV entry and no public exploit code identified, and the flaw was reported to WPScan (tracked as EUVD-2026-98299).
RemediationAI
No vendor-released patch was identified in the available data at time of analysis, so the primary action is to deactivate and remove the WP Testimonials plugin (or upgrade it immediately once a version later than 1.4.13 ships) - deactivation eliminates the rendering path entirely, at the cost of losing testimonial display and any shortcodes or widgets that reference it. As an interim compensating control, audit and tighten role assignments: revoke Author-and-above privileges from accounts that do not need publishing rights and disable open author registration, which removes the PR:L prerequisite but does nothing about already-stored payloads. Because the payload is persistent, purge or re-sanitize existing testimonial records (search the wp_posts/postmeta testimonial tables for script, onerror, onload, or javascript: fragments and strip them, ideally after exporting a backup) before re-enabling any rendering; note that manual cleanup risks breaking legitimate markup if done bluntly. Defensive layers that reduce but do not remove risk include a WAF rule blocking script-bearing testimonial submissions, a Content-Security-Policy that disallows inline script (which can break unrelated theme/plugin functionality and requires careful rollout), and forcing re-authentication or session invalidation for administrator accounts that may have visited the testimonials page. Verify current vendor guidance against the WPScan advisory at https://wpscan.com/vulnerability/feff4b89-6ae6-487a-9187-ecb70778c83c/ and the VulDB entry at https://vuldb.com/vuln/417470, since a patched release may appear after this analysis.
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 affected component is the WP Testimonials plugin for WordPress, a third-party extension whose testimonial entries are stored in the site database and rendered on front-end and administrative pages. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. cross-site scripting) with a persistent/stored pattern: user-supplied testimonial content is written to the database without adequate escaping and is emitted into HTML without output encoding. Compounding the classic escaping failure, the plugin reverses WordPress's built-in HTML sanitization (the wp_kses-based filtering that normally strips dangerous markup for users lacking the unfiltered_html capability) at render time, which effectively grants low-privileged Authors the ability to plant script-capable markup that WordPress core would otherwise neutralize. Under the authoritative assessment the issue is network-reachable (AV:N), low complexity (AC:L), requires a low-privileged authenticated account at Author level or above (PR:L), and requires a victim to view the rendered testimonials (UI:R); the scope is changed (S:C) because the injected script executes in the session of a higher-privileged user than the one who created it, with limited but real confidentiality and integrity impact (C:L/I:L) and no direct availability impact (A:N). Author accounts are a realistic threat vector on multi-author blogs, membership sites, and any deployment where contributor or author registration is loosely controlled.
Know when WordPress 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
Author-level access maps to PR:L not PR:H; injected script runs in a victim admin's session across a privilege boundary (S:C); impact is typical stored-XSS limited C:L/I:L with victim interaction required (UI:R).
Primary rating from Vendor (wpscan).
CVSS VectorVendor: wpscan
Lifecycle Timeline
3DescriptionCVE.org
The WP Testimonials WordPress plugin through 1.4.13 does not properly escape testimonial content and reverses WordPress's HTML sanitization when rendering it, allowing users with the Author role and above to store JavaScript that executes in the session of any user viewing the testimonials, including administrators.
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.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The 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 GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
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
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
EUVD-2026-98299
GHSA-vc4w-4wqx-vv6m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB