Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-18512

CVE-2026-18512: TranslatePress WordPress Plugin XSS Vulnerability

CVE-2026-18512 is a stored XSS flaw in TranslatePress WordPress plugin allowing authenticated attackers to inject malicious scripts via approved comment bodies. This post covers technical details, affected versions, and mitigation.

Published:

CVE-2026-18512 Overview

CVE-2026-18512 is a Stored Cross-Site Scripting (XSS) vulnerability in the TranslatePress – Translate Multilingual sites with AI Translation plugin for WordPress. The flaw affects all versions up to and including 3.2.6. Authenticated attackers with subscriber-level access or above can inject arbitrary web scripts through approved comment bodies rendered in the Translation Editor Strings dropdown. Injected payloads execute in the browser of any user who accesses an affected page. The vulnerability stems from insufficient input sanitization and output escaping [CWE-79]. TranslatePress released version 3.3 to remediate the issue.

Critical Impact

Low-privileged authenticated users can persist JavaScript payloads that execute against administrators loading the Translation Editor, enabling session theft, administrative action forgery, and privilege escalation paths.

Affected Products

  • TranslatePress – Translate Multilingual sites with AI Translation plugin for WordPress, versions up to and including 3.2.6
  • WordPress sites using the vulnerable TranslatePress Translation Editor interface
  • Administrative browser sessions rendering approved comment content inside the plugin's Strings dropdown

Discovery Timeline

  • 2026-08-25 - CVE-2026-18512 published to NVD
  • 2026-08-26 - Last updated in NVD database

Technical Details for CVE-2026-18512

Vulnerability Analysis

The vulnerability resides in how the TranslatePress plugin surfaces approved WordPress comment content inside the Translation Editor's Strings dropdown. The plugin collects translatable strings from the rendered page, including the body of approved comments, and injects those strings into the editor UI without adequate escaping. Because the injection point sits inside a Vue-driven editor component, unsanitized markup is interpreted by the browser rather than displayed as text.

An attacker holding a subscriber account submits a comment containing JavaScript. Once the comment is approved, the payload persists in the database. When an administrator or translator opens the Translation Editor for the affected page, the payload is loaded into the dropdown context and executed in their browser session. The scope change (S:C) reflects that the vulnerable component and the impacted browser context differ, allowing the payload to reach privileged UI surfaces.

Root Cause

The root cause is missing input sanitization on stored comment content and missing output escaping in the Translation Editor rendering path. Affected code paths include the editor logic in assets/src/js/editor.vue (around lines 909, 914, and 923), helper routines in assets/src/js/utils.js (line 26), and the server-side string rendering in includes/class-translation-render.php (line 527). Approved comment bodies are treated as trusted HTML by the editor dropdown even though they originate from untrusted contributors.

Attack Vector

Exploitation requires a network-reachable WordPress site running TranslatePress <= 3.2.6, an authenticated account with subscriber privileges or higher, and comments enabled with automatic or lax approval. The attacker submits a crafted comment; once approved, any privileged user who opens the Translation Editor for the page executes the payload. No user interaction beyond normal editor use is required from the victim.

Refer to the Wordfence vulnerability analysis and the TranslatePress 3.2.6 to 3.3 changeset comparison for the specific rendering paths.

Detection Methods for CVE-2026-18512

Indicators of Compromise

  • Approved WordPress comments containing HTML event handlers, <script> tags, or obfuscated JavaScript inside the comment body.
  • Unexpected outbound requests from administrator browsers to attacker-controlled domains shortly after loading the TranslatePress Translation Editor.
  • Newly created administrator accounts or modified user roles following translator activity in TranslatePress.
  • Presence of the TranslatePress plugin at version 3.2.6 or earlier on wp-content/plugins/translatepress-multilingual/.

Detection Strategies

  • Query the wp_comments table for comment_approved = 1 rows whose comment_content contains <script, onerror=, onload=, javascript:, or srcdoc= patterns.
  • Review web server access logs for POST requests to wp-comments-post.php from subscriber-level accounts followed by admin sessions loading admin.php?page=trp_translation_editor.
  • Correlate WordPress audit logs to identify comment approvals shortly followed by privileged configuration or user changes.

Monitoring Recommendations

  • Enable a WordPress audit logging plugin and forward events to a centralized log store for correlation with browser telemetry.
  • Monitor admin browsers for unexpected script execution when the Translation Editor is opened, using endpoint or browser isolation controls.
  • Track TranslatePress plugin version across all WordPress instances and alert on any deployment still running <= 3.2.6.

How to Mitigate CVE-2026-18512

Immediate Actions Required

  • Update the TranslatePress plugin to version 3.3 or later on every WordPress instance.
  • Audit approved comments for stored JavaScript payloads and unapprove or delete suspicious entries before administrators reopen the Translation Editor.
  • Restrict comment submission and approval workflows so subscriber-level accounts cannot post unmoderated HTML.
  • Review administrator accounts and recent role changes for indicators of privilege escalation via XSS.

Patch Information

TranslatePress addressed the vulnerability in version 3.3. The fix is implemented in changeset 3634273, which modifies the Vue editor rendering to properly escape strings sourced from comment bodies. Compare the full set of changes between 3.2.6 and 3.3 in the TranslatePress version diff.

Workarounds

  • Disable the TranslatePress plugin until version 3.3 can be deployed if patching is delayed.
  • Require manual moderation of all comments and reject any submission containing HTML tags or JavaScript event handlers.
  • Restrict access to the Translation Editor to trusted administrators and avoid opening the Strings dropdown on pages with untrusted comments.
  • Deploy a Web Application Firewall rule that blocks comment submissions containing <script, on*=, or javascript: patterns.
bash
# Configuration example: verify installed TranslatePress version and update via WP-CLI
wp plugin get translatepress-multilingual --field=version
wp plugin update translatepress-multilingual --version=3.3
wp plugin get translatepress-multilingual --field=version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.