CVE-2026-9109: GPTranslate WordPress Plugin Stored XSS Vulnerability – Critical Patch Guidance
A WordPress plugin called GPTranslate that handles website translations contains a security flaw allowing unauthenticated attackers to inject malicious code into web pages. The vulnerability exists because the plugin doesn't properly validate input when storing translations via its REST API. When visitors access an affected page, any injected code executes in their browsers. The plugin compounds this by exposing a deterministic API key in plain text on every page, making it trivial for attackers to craft malicious payloads without authentication.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.2 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-13 / 2026-06-17
NVD description (verbatim)
The GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REST API Translation Storage in all versions up to, and including, 2.31 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The deterministically derived API key (sha256 of the site URL) is printed in the HTML source of every page via the JavaScript variable gptApiKey, meaning any unauthenticated visitor can retrieve the key and submit malicious translation payloads to the /wp-json/gptranslate/v1/request endpoint without any additional precondition.
12 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-9109 is a Stored Cross-Site Scripting (XSS) vulnerability in the GPTranslate WordPress plugin affecting versions up to 2.31. The flaw stems from insufficient input sanitization and output escaping in the REST API endpoint /wp-json/gptranslate/v1/request. The plugin derives its API key deterministically using SHA-256 of the site URL and exposes it as a JavaScript variable (gptApiKey) in the HTML source of every page. This allows unauthenticated attackers to bypass authentication requirements, submit arbitrary scripts via the REST API, and have those scripts persistently stored and executed whenever site visitors load affected pages. The CVSS 3.1 score of 7.2 (HIGH) reflects network-based exploitation with no privilege or user interaction requirements, though scope is changed and confidentiality and integrity impacts are considered limited in the scoring model.
Business impact
Organizations running WordPress sites with this plugin face significant reputational and operational risk. Attackers can inject malware, credential harvesters, or redirect visitors to malicious sites without site administrators needing to click anything. Visitor trust erodes rapidly once compromised. Financial exposure includes potential regulatory fines if customer data is harvested, incident response costs, and website downtime during remediation. Small to medium businesses relying on automatic translation features are particularly vulnerable since they may lack dedicated security monitoring.
Affected systems
The GPTranslate – Multilingual AI Translation for WordPress plugin in all versions up to and including 2.31 is affected. Any WordPress installation with this plugin active is vulnerable. No authentication is required to exploit the vulnerability, meaning even private or internal WordPress sites are at risk if accessible to any network-aware attacker. Severity is elevated for public-facing sites with significant traffic or user engagement.
Exploitability
This vulnerability has a low barrier to exploitation. An attacker needs only to discover a WordPress site running GPTranslate (often detectable via plugin fingerprinting), extract the API key visible in the page source, and submit a crafted JSON payload to the REST API endpoint. No authentication, credentials, or user interaction is required. The deterministic nature of the API key derivation (based on site URL alone) means attackers can pre-compute keys for known targets. The ease of weaponization, combined with the public nature of the vulnerability, means active exploitation is likely if patches are not deployed promptly.
Remediation
Update the GPTranslate plugin to a patched version released after June 17, 2026 (the modification date of this CVE entry). Verify the patch version in the official WordPress plugin repository or vendor advisory before deploying. As an interim measure, if patching is delayed, disable the plugin and use alternative translation solutions, or restrict REST API access to authenticated users via Web Application Firewall (WAF) rules targeting the /wp-json/gptranslate/v1/request endpoint. Consider implementing Content Security Policy (CSP) headers to limit the impact of any injected scripts.
Patch guidance
Check the WordPress Plugin Directory and the GPTranslate vendor advisory for version 2.32 or later that addresses this vulnerability. Apply the patch immediately in a staging environment first to verify compatibility with your site configuration. Since the vulnerability affects versions up to 2.31, any version released after the CVE publication date with explicit fix notes should be considered. Organizations should enable automatic plugin updates or establish a process to check for security updates within 24-48 hours of publication.
Detection guidance
Monitor logs for unusual POST/GET requests to /wp-json/gptranslate/v1/request with unexpected JSON payloads. Look for stored XSS indicators such as script tags, event handlers, or encoded payloads in translation database entries. Check the plugin's translation storage tables for entries containing HTML or JavaScript syntax. Security plugins like Wordfence or Sucuri can help detect malicious scripts injected into page content. For forensics, review access logs from June 13, 2026 onwards to identify potential exploitation windows.
Why prioritize this
This vulnerability warrants immediate patching due to the combination of unauthenticated access, stored XSS impact, and low exploitation complexity. It does not appear on the KEV catalog yet, but the public disclosure and deterministic API key exposure make it an attractive target. Organizations should treat this as a critical priority for WordPress deployments, particularly those handling sensitive user data or operating in regulated industries.
Risk score, explained
The CVSS 3.1 score of 7.2 (HIGH) reflects a network-accessible vulnerability with no authentication or user interaction required. The
Frequently asked questions
What do I need to do immediately if I run this plugin?
Check your GPTranslate plugin version in WordPress admin > Plugins. If it shows 2.31 or earlier, update to the latest version immediately after verifying a patch is available. If no patch is available yet, deactivate the plugin until one is released.
How can attackers find WordPress sites running GPTranslate?
Attackers can scan WordPress sites for the plugin signature in page source code or HTTP headers, or use automated scanning tools. The plugin's presence is often detectable without authentication, making it easy to identify targets at scale.
Can this vulnerability be exploited on sites with strong access controls?
Yes. The vulnerability does not require WordPress login credentials or knowledge of site configuration. The REST API endpoint is publicly accessible by design, and the API key is exposed in plain HTML, meaning even password-protected sites are vulnerable if the WordPress installation itself is reachable.
What if I cannot patch immediately?
As a temporary measure, use a Web Application Firewall (WAF) to block requests to /wp-json/gptranslate/v1/request, disable the plugin entirely, or restrict wp-json access to authenticated users. These are not permanent solutions and should be followed by patching as soon as feasible.
This analysis is provided for informational purposes and reflects the state of public information as of the CVE publication and modification dates. Organizations should verify all patch version numbers and availability through official WordPress Plugin Directory and vendor advisories before deploying updates. This vulnerability is not currently listed in the CISA KEV catalog, but public disclosure and low exploitation barriers suggest rapid weaponization. No exploit code or proof-of-concept is provided. Organizations should consult their security teams and conduct testing in non-production environments before patching production systems. SEC.co makes no guarantee regarding the completeness or real-time accuracy of this analysis. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance
- CVE-2025-14773HIGHABB T-MAC Plus XSS Vulnerability – HIGH Risk Assessment
- CVE-2025-15654HIGHFox-themes Prague Reflected XSS Vulnerability – CVSS 7.1 (HIGH)
- CVE-2025-52759HIGHReflected XSS in UnboundStudio Accordion FAQ Plugin (Versions ≤2.2.1)