Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged WP account
-
DeliveryInject script via Ad Inserter field
-
ExploitPayload stored in plugin config
-
ExecutionAdmin views affected page
-
PersistScript runs in admin browser
-
ImpactHijack session or escalate
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 the attacker to already hold an authenticated WordPress account with sufficient privilege to supply or modify Ad Inserter content/configuration (PR:L - a contributor/author or similar role, not an anonymous visitor), and requires a second user with access to the affected page - typically an administrator - to render it so the stored script executes (UI:R). This is not remote-unauthenticated against a default install. Limiting factors: the dependency on a pre-existing privileged account and on victim interaction significantly narrow the realistic attacker population; sites that tightly restrict who can edit ad configuration are largely insulated. Affected deployments are WordPress sites running Ad Inserter version through 2.8.18. |
| Impact | This is a moderate-severity Stored XSS (CWE-79) in the Ad Inserter WordPress plugin, scored CVSS 6.5 with vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L. The network vector and low complexity favor the attacker, but two factors meaningfully constrain real risk: PR:L means the attacker must already hold an authenticated, privileged account (at least a contributor/author-level role that can configure or influence ad code), and UI:R means a victim - typically an administrator - must subsequently view the page where the injected script executes. The scope change (S:C) reflects that the payload executes in the victim's browser context rather than the plugin's. No EPSS score, CISA KEV entry, or public POC was supplied in the intelligence, so there is no public exploit identified at time of analysis and no evidence of active or automated exploitation. The only source is a single Patchstack advisory. Net assessment: a legitimate issue to patch, but a second-tier priority rather than an emergency - it is not remote-unauthenticated, it depends on both prior authenticated access and victim interaction, and no exploitation signal elevates it. Note that the impact metrics C:L/I:L/A:L from the input are slightly generous for a stored XSS, which typically carries no direct availability impact (see assessed vector below). |
| Exploit ScenarioDerived | An attacker who has obtained a low-privileged authenticated account on a WordPress site (e.g., a contributor or author role able to influence Ad Inserter configuration) stores a malicious JavaScript payload through the plugin. When a site administrator later views the affected page in wp-admin or on the front end, the script executes in their authenticated browser session, enabling session/cookie theft or actions performed as the admin. No public exploit code was provided in the available intelligence. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Stored cross-site scripting in the Ad Inserter WordPress plugin (all versions through 2.8.18) allows an authenticated low-privilege user - a contributor, author, or any role permitted to create or edit ad blocks - to persist malicious script into plugin ad configuration, which then executes in the browser of another user, typically an administrator, when that page or the plugin's settings screen is rendered. Successful exploitation is bounded by two prerequisites: the attacker must already hold a suitably privileged WordPress account, and a second user must view the poisoned content, so this is not remotely exploitable against a default install by an anonymous visitor. Independently assessed as CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N (6.5, moderate), and no public exploit identified at time of analysis; EPSS data was not supplied, so no exploitation-probability estimate can be cited.
RemediationAI
No vendor-released patch was identified at time of analysis for CVE-2026-107864; the advisory notes the flaw affects Ad Inserter through 2.8.18 without naming a fixed release, so the first step is to check the plugin's WordPress.org changelog and https://patchstack.com/database/wordpress/plugin/ad-inserter/vulnerability/wordpress-ad-inserter-plugin-2-8-18-cross-site-scripting-xss-vulnerability-2?_s_id=cve for a version above 2.8.18 and upgrade immediately once one ships. In the meantime, the most effective compensating control is to shrink the privileged population that can supply ad configuration: review WordPress roles and remove 'edit posts'/'manage options'-style capabilities from contributor, author, and any custom roles that can reach Ad Inserter settings, and restrict plugin access to administrators only - the trade-off is reduced editorial workflow flexibility and more administrator involvement in ad changes. If ad configuration is delegated, enforce content review of every ad block and audit existing blocks for unexpected script tags, event handlers, or obfuscated payloads, then re-save them to flush stored injection. Where the plugin is not actively used for ad delivery, deactivate and delete it, which removes the attack surface entirely at the cost of losing ad-slot management. A restrictive Content-Security-Policy that disallows inline script will blunt execution of stored payloads but will also break legitimate ad networks and inline snippets the plugin is designed to insert, so it must be tuned per site. Finally, rotate credentials and review administrator sessions and recent admin-side changes if unauthorized ad-block content is discovered, since stored XSS against an administrator can be used to establish persistence.
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 issue is CWE-79 (Improper Neutralization of Input During Web Page Generation, 'Cross-site Scripting'), specifically the stored/persistent variant, in the Igor Funa Ad Inserter plugin for WordPress. Ad Inserter is a widely deployed ad-management plugin that lets site operators inject HTML, JavaScript, and ad-network snippets into posts, pages, and widget areas through configurable 'ad blocks'; these blocks are stored in the WordPress database and echoed into rendered pages. Because the plugin's ad-block configuration accepts markup and script by design, the root cause is a failure to properly neutralize or constrain the input received from a lower-privileged editor before it is written to the database and later emitted into the page - i.e., insufficient sanitization on input and/or escaping on output for the relevant configuration field. The CPE cpe:2.3:a:igor_funa:ad_inserter:*:*:*:*:*:*:*:* confirms the affected component is the plugin itself across its version history up to and including 2.8.18, independent of the underlying WordPress core version or PHP runtime. The assessed vector contains S:C (scope change), reflecting that injected script executes in the security context of the vulnerable page rather than being contained by the plugin's own origin handling, and UI:R, reflecting that a victim must actively render the tainted content. C/I impacts are low because the primary effect is browser-side script execution in another user's session rather than direct server compromise or data destruction; confidentiality and integrity loss would arise from whatever the injected script is able to do on behalf of the victim, such as reading page content or performing privileged actions in their session.
Know when Ad Inserter 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:R/S:C/C:L/I:L/A:L
Stored XSS needs an authenticated low-priv account (PR:L) and victim rendering (UI:R); script runs cross-context (S:C) with low confidentiality/integrity impact but no genuine availability impact (A:N).
Primary rating from Vendor (Patchstack).
CVSS VectorVendor: Patchstack
DescriptionCVE.org
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Igor Funa Ad Inserter ad-inserter allows Stored XSS.This issue affects Ad Inserter: from n/a through 2.8.18.
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 Ad Inserter
View allThe ad-inserter plugin before 2.4.22 for WordPress has remote code execution. Rated high severity (CVSS 8.8), this vulne
Stored code injection in the Ad Inserter WordPress plugin before 2.8.19 allows an authenticated user with a role as low
The Ad Inserter WordPress plugin before 2.7.27 unserializes user input provided via the settings, which could allow high
The Ad Inserter Free and Pro WordPress plugins before 2.7.12 do not sanitise and escape the REQUEST_URI before outputtin
The Ad Inserter WordPress plugin before 2.7.10, Ad Inserter Pro WordPress plugin before 2.7.10 do not sanitise and escap
The ad-inserter plugin before 2.4.20 for WordPress has path traversal. Rated high severity (CVSS 7.5), this vulnerabilit
Unauthenticated cross-site scripting (XSS) in the Ad Inserter WordPress plugin through version 2.8.18 allows remote atta
Cross-site scripting in the Ad Inserter WordPress plugin (Spacetime, versions through 2.8.11) allows authenticated low-p
The Ad Inserter for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 2.7.30 v
The Ad Inserter for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 2.7.30 v
EUVD-2026-97305
GHSA-39qx-x9h5-r974
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB