Skip to main content

If-So Dynamic Content CVE-2026-87970

| EUVDEUVD-2026-90512 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-01 contact@wpscan.com GHSA-4fx4-j9h4-c94x
4.7
CVSS 3.1 · Vendor: wpscan
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious link with reflected payload
  2. Delivery
    Deliver link to victim via phishing
  3. Exploit
    Victim opens crafted URL
  4. Execution
    Unescaped value reflected in AJAX HTML
  5. Impact
    Arbitrary 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

If-So Dynamic Content 1.8 <1.10.2

Affected Packages

euvd if_so_dynamic_content fix: 1.10.2

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

Vendor (wpscan) PRIMARY 4.7 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
vuln.today AI 4.7 MEDIUM

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).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (wpscan).

CVSS VectorVendor: wpscan

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
Patch available
Oct 01, 2026 - 07:01 EUVD
CVE Published
Oct 01, 2026 - 06:17 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 01, 2026 - 06:17 cve.org
MEDIUM 4.7

DescriptionCVE.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

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
popular WordPress dynamic-content personalization plugin, tens of thousands of installs
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

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-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

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-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

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-2026-63030 CRITICAL POC
9.8 Jul 17

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

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