Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious media-upload link with keyword payload
-
DeliveryPhish Author+ user into clicking
-
ExploitQuotes break out of value attribute
-
ExecutionReflected script executes in wp-admin session
-
ImpactAbuse victim's authenticated privileges
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 (1) the attacker to trick a logged-in WordPress user holding the upload_files capability (Author role or above) into clicking a specially crafted /wp-admin/media-upload link - this user interaction and privileged-victim requirement is the primary limiting factor; (2) the Pochipp plugin version ≤1.20.2 installed and active. The payload leverages the fact that sanitize_text_field() strips HTML tags but leaves double quotes intact, so a double-quote-based breakout of the value attribute in the heredoc-rendered search input is the specific technique. Because the flaw is reflected rather than stored, each victim must be individually lured; there is no persistence and no impact against non-privileged or non-authenticated sessions. |
| Impact | This is a genuine but modest-severity reflected XSS (CWE-79) carrying a vendor/Wordfence CVSS of 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N). The network vector and low complexity are real, but the practical bar is meaningfully higher than the raw score suggests: exploitation is reflected (non-persistent) and requires social-engineering a victim who holds the upload_files capability (Author or above) into clicking a crafted /wp-admin/media-upload link. PR:N is technically correct because the attacker themselves is unauthenticated, but the payload only fires in the browser of an already-privileged logged-in user, so this is not a mass-exploitable, self-propagating flaw. No EPSS score, no CISA KEV listing, and no public PoC were provided in the intelligence, which is consistent with a low-to-moderate real-world exploitation likelihood - this is a patch-in-normal-cycle issue, not an emergency. The S:C (scope change) is defensible for XSS crossing from server output into the browser security context, though C:L/I:L accurately reflects that impact is limited to what a tricked Author-level session can do (session/action abuse within wp-admin), not confidentiality loss of the whole system. No signals conflict materially; the main caveat is that all severity data originates from a single source (Wordfence) with no independent EPSS/KEV corroboration. |
| Exploit ScenarioDerived | An attacker crafts a malicious /wp-admin/media-upload URL with a JavaScript payload in the 'keyword' parameter (using double quotes to break out of the value attribute, since sanitize_text_field strips tags but preserves quotes) and sends it to a WordPress user with Author-or-higher privileges. When that user clicks the link while logged in, the unescaped value is reflected into the search input via a PHP heredoc and the script executes in their authenticated wp-admin session, letting the attacker perform actions or steal session context as that user. No public exploit code was identified at time of analysis, though the vulnerable source lines are referenced in the Wordfence/trac links. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 19, 2026
Reflected cross-site scripting in the Pochipp plugin for WordPress (versions up to and including 1.20.2) lets unauthenticated attackers inject arbitrary script that executes in the browser of a logged-in user who holds the upload_files capability, i.e. an Author, Editor, or Administrator. The flaw is reachable through the plugin's media-upload search path, and exploitation depends on the attacker luring that privileged victim into clicking a crafted /wp-admin/media-upload link, so each victim must be individually tricked and the injected script never persists. Wordfence scores the issue 6.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N), no public exploit code and no confirmed active exploitation were identified at time of analysis, and the practical impact is limited by the required user interaction and the privileged-victim prerequisite.
RemediationAI
Apply the upstream fix referenced by Pochipp changeset 3701315 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3701315%40pochipp&new=3701315%40pochipp); this is a commit-level fix and a tagged release carrying a version number above 1.20.2 is not independently confirmed, so verify the plugin's current version on the WordPress.org plugin page or the vendor advisory before assuming a patched build is installable, and treat 1.20.2 and earlier as vulnerable until then. Because the code path is only the thickbox search in the admin media-upload flow, the most direct interim mitigation is to deactivate the Pochipp plugin entirely - this removes the vulnerable endpoint at the cost of losing the affiliate/product-block functionality - or, if the plugin must remain active, restrict administrator-side access so only fully trusted accounts retain the upload_files capability, since the victim must be an Author, Editor, or Administrator. A WAF or reverse-proxy rule that inspects the 'keyword' parameter on requests to /wp-admin/media-upload and rejects or neutralises encoded double quotes can block the specific attribute-breakout technique, but encoding variants may bypass signature-based rules, so it should be treated as a stopgap rather than a fix. Because the issue is reflected rather than stored, blocking the crafted link delivery (for example, link filtering in email or chat) also reduces exposure, but the underlying missing esc_attr() call must still be fixed in code.
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 a classic CWE-79 output-escaping failure in the PHP code of the Pochipp WordPress plugin (CPE: cpe:2.3:a:wppochipp:pochipp:*:*:*:*:*:*:*:*). The plugin reads $_GET['keyword'], passes it through sanitize_text_field() - a WordPress helper that strips HTML tags but deliberately preserves double-quote characters - and then interpolates the result directly into the value attribute of the search input rendered inside a PHP heredoc in inc/thickbox/serach_items.php (referenced lines 13 and 19) with the surrounding logic in inc/thickbox.php (lines 10 and 20). Because esc_attr() is never applied at the point of output, an attacker can supply a value containing a double quote to break out of the value attribute, followed by an event handler or script payload, so the reflected value is parsed as HTML/JavaScript rather than as inert text. The affected surface is the WordPress media-upload thickbox search, and the upstream fix is captured in Pochipp changeset 3701315, which corresponds to adding proper attribute escaping on that output path.
Know when Pochipp 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:L/A:N
PR:N because the attacker is unauthenticated (victim's privilege is incidental), UI:R for the required click, S:C for XSS crossing into browser context, C:L/I:L for limited session-scoped impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Pochipp plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'keyword' parameter in versions up to, and including, 1.20.2. This is due to insufficient output escaping , which reads $_GET['keyword'], applies only sanitize_text_field() (which strips tags but leaves double quotes intact) and interpolates the value directly into the value attribute of the search input via a PHP heredoc, without esc_attr(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user with upload_files capability (Author or above) into performing an action such as clicking on a specially crafted link to /wp-admin/media-upload.
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.
EUVD-2026-83479
GHSA-54jx-f43m-h839
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB