Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as subscriber-level user
-
DeliverySend crafted i_saw_this_noti AJAX request
-
ExploitInject malicious noti_token payload
-
ExecutionPayload stored unsanitized
-
ImpactScript executes on page view in victim browser
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 an authenticated account at subscriber level or above (PR:L), AND the site owner must have enabled the plugin's 'User Level Permissions' for the Subscriber role - this non-default setting is what grants access to the i_saw_this_noti AJAX branch used to deliver the payload. Without that configuration, subscriber-level users cannot reach the vulnerable endpoint, so the attack surface is closed on default installations. No user interaction is needed to inject; however, the payload only executes when a user subsequently views the injected page. Limited to Duplicate Post (copy-delete-posts) plugin versions up to and including 1.5.6; fixed in 1.5.7. |
| Impact | Signals are moderate and internally consistent. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, 6.4 MEDIUM) describes a network-reachable, low-complexity stored XSS requiring only low privileges (PR:L = subscriber-level authenticated access) and no victim interaction to inject, with a scope change (S:C) reflecting that the injected script executes in the context of other users who later view the affected page. There is no EPSS score, no CISA KEV listing, and no public exploit in the provided intelligence, so exploitation status is: no public exploit identified at time of analysis. Crucially, the description adds a hard gating condition absent from the raw CVSS score: exploitation is ONLY possible if the site owner has explicitly enabled the plugin's 'User Level Permissions' for the Subscriber role, which is a non-default configuration that opens the i_saw_this_noti AJAX branch used to deliver the payload. This materially lowers real-world risk below what the 6.4 score alone implies - most installations leave this feature off, so a stock deployment is not exploitable by subscribers. Net: a genuine but configuration-dependent, low-to-moderate priority stored-XSS, not a high-urgency item. No key signals conflict; the main caveat is the configuration prerequisite, which the CVSS base score does not capture. |
| Exploit ScenarioDerived | On a WordPress site where the admin has enabled the Duplicate Post plugin's User Level Permissions for the Subscriber role, a registered subscriber-level attacker sends a crafted request to the i_saw_this_noti AJAX action with a malicious 'noti_token' value. The unsanitized token is stored and later rendered without escaping, so arbitrary JavaScript executes in the browser of any user - including higher-privileged admins - who views the injected page. No public proof-of-concept is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Stored cross-site scripting in the WordPress plugin Duplicate Post (copy-delete-posts) through version 1.5.6 lets an authenticated subscriber-level user inject arbitrary JavaScript via the 'noti_token' parameter, which then executes in the browser of anyone who later views the affected page. Exploitation is not unconditional: the site owner must have enabled the plugin's User Level Permissions for the Subscriber role, a non-default setting that exposes the i_saw_this_noti AJAX branch used to deliver the payload, so default installations are not reachable by low-privilege users. No public exploit code has been identified at time of analysis, and no KEV listing applies, though the stored nature of the flaw means a single successful injection can affect privileged administrators and visitors; the vendor has released version 1.5.7 as the fix.
RemediationAI
Vendor-released patch: 1.5.7. Upgrade the Duplicate Post (copy-delete-posts) plugin to 1.5.7 or later from the WordPress plugin repository or via WP-CLI, since 1.5.7 is the first release containing the sanitization and escaping changes; the 1.5.6-to-1.5.7 diff is viewable at https://plugins.trac.wordpress.org/changeset?reponame=&new=3709767%40copy-delete-posts%2Ftags%2F1.5.7&old=3652254%40copy-delete-posts%2Ftags%2F1.5.6 and the specific notification handler change at https://plugins.trac.wordpress.org/changeset/3709767/copy-delete-posts/trunk/menu/notifications.php. If immediate upgrading is not possible, the most effective compensating control is to disable the plugin's 'User Level Permissions' option for the Subscriber role (or for any low-privilege role), which removes access to the i_saw_this_noti AJAX branch and closes the injection path described in the advisory; the trade-off is that any legitimate notification-permission workflow tied to that setting will stop working for those roles. Administrators can also audit existing stored content and notification records for injected markup from the noti_token parameter before re-enabling broader permissions, since the payload is persistent and will continue to execute until removed. Deactivating the plugin entirely is a heavier fallback that eliminates the risk but removes the content-duplication functionality. No alternative patch outside 1.5.7 was identified in the available data.
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 vulnerability is a classic CWE-79 stored cross-site scripting flaw arising from insufficient input sanitization and missing output escaping rather than an exotic parsing bug. Duplicate Post (WordPress.org slug copy-delete-posts, vendor inisev) registers AJAX handling for its notification subsystem; the 'noti_token' parameter is accepted through the i_saw_this_noti AJAX branch and later rendered back into notification UI without being sanitized on input or escaped on output. Because the value is persisted, the payload is stored server-side and re-executed on every subsequent page view, which is what makes stored XSS more damaging than reflected XSS. The CPE string cpe:2.3:a:inisev:duplicate_post:*:*:*:*:*:*:*:* with a wildcard version indicates the affected product family as reported, and the description bounds it to all versions up to and including 1.5.6, with 1.5.7 carrying the fix. The referenced source lines in tags/1.5.6 (menu/notifications.php lines 53 and 84, post/handler.php lines 15, 1598 and 1601) point to the notification token handling and its rendering path, and the WordPress trac changeset 3709767 diffing 1.5.6 to 1.5.7 confirms where the escaping/sanitization was added. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N reflects network exploitability, low attack complexity, required low privileges, no user interaction for injection, a scope change (S:C) because injected script runs in a broader context than the vulnerable component, and limited confidentiality and integrity impact with no availability impact.
Know when Duplicate Post 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:N/S:C/C:L/I:L/A:N
Network-reachable AJAX endpoint (AV:N/AC:L), subscriber auth required (PR:L), no interaction to inject (UI:N); stored XSS executing in other users' sessions is a scope change (S:C) with low C/I and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Duplicate Post plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'noti_token' parameter in all versions up to, and including, 1.5.6 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires that the site owner has enabled the plugin's User Level Permissions for the Subscriber role, as this grants access to the i_saw_this_noti AJAX branch needed to deliver the payload.
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 Duplicate Post
View allThe "Duplicate Post" WordPress plugin up to and including version 1.1.9 is vulnerable to SQL Injection. Rated high sever
Duplicate Post WordPress plugin before version 1.5.5 contains an IDOR flaw (CWE-639) in its bulk copy and delete operati
Several plugins for WordPress by Inisev are vulnerable to Cross-Site Request Forgery to unauthorized installation of plu
Unauthorized post data disclosure in the Duplicate Post WordPress plugin before 1.5.6 allows authenticated users holding
Duplicate Post WordPress plugin before 1.5.6 exposes password-protected post content to authenticated users who lack rea
Several plugins for WordPress by Inisev are vulnerable to unauthorized installation of plugins due to a missing capabili
EUVD-2026-90573
GHSA-mjxg-mhjq-2vx5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB