CVE-2026-89278 Overview
The GPTranslate – Multilingual AI Translation Agent plugin for WordPress exposes third-party AI provider API keys to unauthenticated attackers. The flaw affects all versions up to and including 2.34.6 through the enqueue_frontend_scripts function. Attackers can fetch any public page and apply the inverse transformation bundled in the plugin's own public JavaScript asset to recover plaintext credentials. Affected providers include OpenAI, DeepL, xAI/Grok, Gemini, Claude, and Google Cloud Translation. The exposed keys grant billed account access to the corresponding AI service. The vulnerability is tracked as an Information Exposure weakness [CWE-200].
Critical Impact
Unauthenticated attackers can extract plaintext AI provider API keys from any public page of an affected WordPress site, enabling account abuse and unauthorized billing on the site owner's AI provider account.
Affected Products
- GPTranslate – Multilingual AI Translation Agent for WordPress plugin, all versions through 2.34.6
- Default configuration using gpt-3.5-turbo in client mode
- All supported non-DeepSeek providers (OpenAI, DeepL, xAI/Grok, Gemini, Claude, Google Cloud Translation)
Discovery Timeline
- 2026-09-18 - CVE-2026-89278 published to NVD
- 2026-09-18 - Last updated in NVD database
Technical Details for CVE-2026-89278
Vulnerability Analysis
The GPTranslate plugin enqueues frontend JavaScript that requires access to the configured AI provider API key to perform client-side translation requests. In client mode, the plugin embeds the API key into page output after applying a reversible transformation. Because the inverse transformation ships in the plugin's own public JavaScript, any visitor can undo the encoding and recover the plaintext credential. The exposure occurs on every public page render, so no authentication, form submission, or user interaction is required. Only deepseek-* models and gpt-* models running in server-proxy mode correctly suppress key emission.
Root Cause
The root cause is an insecure design decision in the enqueue_frontend_scripts handler. The plugin treats an obfuscation routine as a confidentiality control, relying on transformation logic that is itself distributed to every client. This pattern falls under [CWE-200] Exposure of Sensitive Information to an Unauthorized Actor. Third-party AI provider credentials should never be delivered to browsers in client mode without a server-side proxy.
Attack Vector
An unauthenticated remote attacker requests any public page of the vulnerable site. The response contains the obfuscated API key along with references to the plugin's public JavaScript asset. The attacker loads that JavaScript, invokes the inverse transformation on the extracted value, and obtains the plaintext key. The recovered credential allows the attacker to issue requests to OpenAI, DeepL, xAI/Grok, Gemini, Claude, or Google Cloud Translation and charge them to the site owner. See the Wordfence Vulnerability Report and the WordPress Plugin Source Code for the affected code paths.
Detection Methods for CVE-2026-89278
Indicators of Compromise
- Unexpected outbound charges or usage spikes on the associated OpenAI, DeepL, xAI, Gemini, Claude, or Google Cloud Translation account.
- Access log entries showing anonymous crawlers requesting public pages followed by fetches of the GPTranslate plugin's public JavaScript asset.
- API provider dashboards showing requests originating from IP addresses unrelated to the WordPress host.
Detection Strategies
- Inspect page source of any public URL for embedded strings referenced by the plugin's frontend script and confirm whether they decode to a valid API key.
- Correlate WordPress access logs with AI provider API usage timestamps to detect key harvesting activity.
- Scan installed WordPress plugins for GPTranslate versions at or below 2.34.6 in client mode.
Monitoring Recommendations
- Enable billing alerts and rate limits in each AI provider console to surface abuse quickly.
- Monitor egress traffic patterns from the WordPress host to detect deviation from baseline AI provider calls.
- Alert on any HTTP GET traffic to the plugin's frontend JavaScript from unusual referrers or user agents.
How to Mitigate CVE-2026-89278
Immediate Actions Required
- Rotate every AI provider API key that was configured in GPTranslate while a vulnerable version was installed.
- Switch the plugin to server-proxy mode or select a deepseek-* model until an updated plugin release is applied.
- Review AI provider billing statements for unauthorized usage and file abuse reports where applicable.
Patch Information
At the time of publication, the NVD entry references the GPTranslate source at version 2.34.6 and a WordPress Changeset Overview documenting plugin changes. Administrators should install the latest available GPTranslate release and verify that the frontend no longer emits provider credentials. Consult the Wordfence Vulnerability Report for updated fix guidance.
Workarounds
- Configure the plugin to use a gpt-* model in server-proxy mode so the key stays on the server.
- Restrict the AI provider API key with per-key spending caps, IP allowlists, and usage quotas.
- Disable or uninstall the GPTranslate plugin until a fixed version is deployed if server-proxy mode is not viable.
# Configuration example: identify vulnerable installations
wp plugin get gptranslate --field=version
grep -R "enqueue_frontend_scripts" wp-content/plugins/gptranslate/
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

