Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious link with reflected payload
-
DeliveryDeliver link to victim via phishing
-
ExploitVictim opens crafted URL
-
ExecutionUnescaped value reflected in AJAX HTML
-
ImpactArbitrary JavaScript executes in site origin
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 | Requires that the vulnerable If-So Dynamic Content plugin (versions 1.8 through before 1.10.2) be installed and active on a WordPress site; the vulnerable AJAX endpoint is reachable without authentication (PR:N). The decisive limiting factor is required user interaction (UI:R): a visitor must open an attacker-crafted link containing the reflected payload - the script does not execute passively. Because it is reflected rather than stored, each victim must be individually lured, confining practical exploitation to targeted phishing/social-engineering campaigns. No special non-default configuration is noted as required beyond having the plugin active. |
| Impact | This is a reflected (non-persistent) XSS in the If-So Dynamic Content WordPress plugin, scored CVSS 4.7 (MEDIUM). The vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N shows the attractive part - network-reachable, low complexity, and no authentication (PR:N) because the vulnerable AJAX endpoint is unauthenticated - tempered by two meaningful limiters: UI:R means a victim must open an attacker-crafted link, and impact is confined to C:L (script execution in the victim's browser) with no integrity or availability impact. The scope change (S:C) correctly reflects that injected script executes in the site's origin rather than the plugin's own boundary. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or automated exploitation; this is a credible but not high-urgency issue. Reflected XSS requiring user interaction is typically used in targeted phishing/social-engineering rather than mass exploitation, so real-world risk is moderate and gated by the social-engineering step. Prioritize patching but this is not a drop-everything flaw. |
| Exploit ScenarioDerived | An attacker crafts a URL to the site's unauthenticated If-So AJAX endpoint embedding malicious JavaScript in a request parameter that is reflected unescaped into an HTML response. The attacker distributes this link (phishing email, malicious ad, forum post); when a visitor clicks it, the script executes in their browser in the site's origin, enabling session/cookie theft or UI redressing. No public POC was identified at time of analysis, and exploitation depends on the victim opening the crafted link (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Reflected cross-site scripting in the If-So Dynamic Content WordPress plugin (versions 1.8 through before 1.10.2) lets remote unauthenticated attackers inject arbitrary JavaScript into an AJAX response served as HTML, because a request-supplied value is reflected without output escaping. Exploitation is not passive: the CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N) requires a victim to open an attacker-crafted link, so each target must be individually lured via phishing or social engineering, which confines practical impact to targeted campaigns. The issue is rated 4.7 (MEDIUM) with no confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis; a vendor patch is available.
RemediationAI
Update the If-So Dynamic Content plugin to version 1.10.2 or later, which is the boundary at which the affected range ends and where the vendor patch is available per the vendor advisory; because WordPress plugin updates ship through the WordPress.org update mechanism, this can also be forced via WP-CLI (wp plugin update if-so) or the dashboard updater. If immediate upgrading is not possible, temporarily deactivate the plugin (note the trade-off: all dynamic content conditional logic on the site stops rendering) or restrict access to the plugin's AJAX handling at the WAF/reverse-proxy layer by blocking requests whose parameters contain HTML/script metacharacters (trade-off: legitimate content parameters containing markup may be rejected, and WAF rules may be bypassed with encoding tricks). Adding a Content-Security-Policy that disallows inline script is a useful compensating control but can break other site functionality. Confirm the fix against the vendor advisory at https://wpscan.com/vulnerability/a0ae7165-0d5b-4f81-b35b-2d9076573530/ and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-87970.
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
This is a CWE-79 improper neutralization of input during web page generation (cross-site scripting) bug in a WordPress plugin. The vulnerable component is an AJAX endpoint that is reachable without authentication (PR:N) and returns its response as HTML; a value taken from the incoming request is echoed into that HTML without the encoding/escaping that WordPress provides via functions such as esc_html() or esc_attr(). Because the payload is reflected rather than stored, the injected script executes only in the browser session of a user who follows a specifically crafted URL, and the CVSS scope value of S:C reflects that the injected script runs in the context of the vulnerable site's origin rather than being contained within the vulnerable component. Impact characteristics are C:L (limited confidentiality impact, e.g. script-driven data access within the victim's session) with I:N and A:N, and the decisive gating factor is UI:R user interaction. The EUVD data identifies the affected product line as If-So Dynamic Content 1.8 through before 1.10.2; no CPE identifiers were supplied in the available intelligence feeds.
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:N/UI:R/S:C/C:L/I:N/A:N
Unauthenticated network-reachable AJAX endpoint (PR:N) but needs victim to click a crafted link (UI:R); reflected script runs in site origin (S:C) with browser-only confidentiality impact (C:L).
Primary rating from Vendor (wpscan).
CVSS VectorVendor: wpscan
Lifecycle Timeline
3DescriptionCVE.org
The If-So Dynamic Content WordPress plugin before 1.10.2 does not escape a request-supplied value before reflecting it in an unauthenticated AJAX response that is served as HTML, allowing attackers to execute arbitrary JavaScript in the browser of a visitor who opens a crafted link.
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-90512
GHSA-4fx4-j9h4-c94x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB