CVE-2026-9109
Deferred Deferred - Pending Action

Stored XSS in GPTranslate WordPress Plugin via REST API

Vulnerability report for CVE-2026-9109, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-13

Last updated on: 2026-06-15

Assigner: Wordfence

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-13
Last Modified
2026-06-15
Generated
2026-07-03
AI Q&A
2026-06-13
EPSS Evaluated
2026-07-02
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
wptranslate gptranslate to 2.31 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The GPTranslate – Multilingual AI Translation for WordPress plugin is vulnerable to Stored Cross-Site Scripting (XSS) through its REST API Translation Storage. This vulnerability exists in all versions up to and including 2.31 due to insufficient input sanitization and output escaping.

An unauthenticated attacker can inject malicious web scripts into pages, which will execute whenever a user accesses those pages. Additionally, the plugin exposes a deterministically derived API key (a sha256 hash of the site URL) in the HTML source code, allowing any visitor to retrieve it and submit malicious translation payloads to the plugin's REST API endpoint without any further authentication.

Impact Analysis

This vulnerability can allow attackers to execute arbitrary scripts in the context of your website for any user who visits an injected page. This can lead to theft of user credentials, session hijacking, defacement, or distribution of malware.

Since the API key is exposed and can be used without authentication, attackers can repeatedly submit malicious translation data, potentially compromising the integrity and security of your website content and user interactions.

Detection Guidance

This vulnerability can be detected by checking for the presence of the deterministically derived API key (sha256 of the site URL) in the HTML source of your WordPress pages, specifically in the JavaScript variable gptApiKey.

Additionally, monitoring or scanning for requests to the endpoint /wp-json/gptranslate/v1/request that include suspicious or unexpected translation payloads can help identify exploitation attempts.

A simple command to check for the API key in the HTML source of a page could be using curl and grep, for example:

  • curl -s https://your-wordpress-site.com | grep gptApiKey

To detect suspicious POST requests to the vulnerable REST API endpoint, you can use network monitoring tools or web server logs to filter requests to /wp-json/gptranslate/v1/request.

Mitigation Strategies

Immediate mitigation steps include updating the GPTranslate – Multilingual AI Translation for WordPress plugin to a version later than 2.31 where the vulnerability is fixed.

If an update is not immediately possible, consider disabling or restricting access to the /wp-json/gptranslate/v1/request REST API endpoint to prevent unauthenticated attackers from submitting malicious translation payloads.

Additionally, review and sanitize any user-generated content or translations that may have been injected via this vulnerability.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-9109. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart