Sceawere

Vulnerability Detail

CVE-2026-89412UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

TranslatePress Stored XSS Vulnerability

Vulnerability Metadata

Severity
High
Score / CVSS
7.2
Creation Date
3h ago
Vendor
cozmoslabs
Product
TranslatePress – Translate Multilingual sites with AI Translation
Attack Type
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Attack Complexity
LOW

Narrative and Response

Description

The TranslatePress – Translate Multilingual sites with AI Translation plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Translation Memory Suggestion Panel (v-html on suggestion.original) in all versions up to, and including, 3.3.5 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. Unauthenticated attackers can seed the translation dictionary's original column with executable HTML because the front-end rendering pipeline decodes entity-encoded payloads via html_entity_decode() before persistence, and the original column is deliberately exempt from kses filtering — meaning no save-time sanitizer neutralizes the stored payload before it is later rendered in an administrator's session.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "7.2",
  "pubDate": "2026-09-22T07:16:29.927Z",
  "pubdate": "2026-09-22T07:16:29.927Z",
  "executiveSummary": "TranslatePress – Translate Multilingual sites with AI Translation for WordPress contains a Stored Cross-Site Scripting (XSS) vulnerability affecting all versions up to and including 3.3.5.\nThe vulnerability originates from inadequate input sanitization and output escaping within the Translation Memory Suggestion Panel.\nAn unauthenticated attacker can inject arbitrary JavaScript or malicious HTML into the translation dictionary's original column.\nWhen an administrator accesses a page where the injected translation is rendered, the payload executes within their browser session.\nThis allows for unauthorized actions, session hijacking, or data exfiltration performed under the identity of the administrative user.\nThe flaw is particularly critical because the affected data field is explicitly exempted from WordPress 'kses' filtering, and incoming data undergoes 'html_entity_decode()' before persistence, effectively bypassing standard security filters.",
  "technicalDetails": "The vulnerability exists in the Translation Memory Suggestion Panel of the TranslatePress plugin. The root cause is a breakdown in the secure data processing pipeline: the plugin utilizes 'html_entity_decode()' on the 'suggestion.original' input before saving it to the database, effectively reversing any entity-encoding that might have occurred to neutralize malicious payloads.\nCrucially, the plugin implementation explicitly bypasses 'kses' sanitization—the standard WordPress defense mechanism against malicious markup—for the 'original' column of the translation dictionary. This allows raw, unsanitized HTML and JavaScript to be persisted in the storage layer.\nWhen the Translation Memory Suggestion Panel renders this data, it employs a 'v-html' directive, which interprets the stored string as raw HTML rather than text content. Because the data was decoded at ingestion and never sanitized, the browser interprets the injected tags (e.g., <script>, <img> with onerror attributes) as executable code.\nThe attack flow is as follows: 1) An unauthenticated attacker submits a crafted translation string containing an XSS payload into the system. 2) The backend server calls 'html_entity_decode()' on this input, normalizing the payload. 3) The server bypasses 'kses' filters for the 'original' column and commits the payload to the database. 4) A legitimate administrator visits a page utilizing the Translation Memory feature. 5) The front-end rendering pipeline pulls the malicious string from the database and uses 'v-html' to inject the content directly into the DOM. 6) The browser executes the malicious script within the security context of the administrator’s authenticated session.\nThis vulnerability is classified as Stored XSS. The absence of authentication requirements for the initial injection point, combined with the administrative execution context, creates a high-risk scenario. The lack of output encoding within the 'v-html' template binding ensures that any payload residing in the 'original' column will execute upon rendering."
}
CVE-2026-89412: TranslatePress Stored XSS Vulnerability (HIGH Severity, CVSS: 7.2) | Sceawere