CVE-2026-118257: Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages
Vue I18n is the internationalization plugin for Vue.js. From 11.1.10 until 11.4.14 and from 12.0.0-alpha.4 until 12.0.0-alpha.5, sanitizeTranslatedHtml() escapes markup and event-handler text inside an iframe srcdoc value but leaves the srcdoc attribute active. Browsers decode the character references and parse the value as a same-origin nested HTML document, allowing attacker-controlled parameters or translation content placed in srcdoc to execute script when applications enable escapeParameter and render translations as HTML through v-html. Versions 9.14.5 and 10.0.8 are also affected and are no longer supported, while i18n-t rendering is not affected. This issue is fixed in versions 11.4.14 and 12.0.0-alpha.5.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Vue I18nto a version that resolves this vulnerability.Fixed in 11.4.14 - Upgrade
Upgrade
Vue I18nto a version that resolves this vulnerability.Fixed in 12.0.0-alpha.5
Event History
Frequently Asked Questions
Which applications are exposed to this issue?
Applications are exposed when they use an affected Vue I18n version, enable escapeParameter, and render translations as HTML with v-html. The malicious translation content or attacker-controlled parameter must be placed in an iframe srcdoc value; i18n-t rendering is not affected.
Does an attacker need an account or user interaction to exploit this?
No privileges or user interaction are required according to the supplied vector. Exploitation depends on the attacker being able to control a translation or parameter that reaches a srcdoc attribute in a translation rendered through v-html.
Which versions should be remediated?
Upgrade affected 11.x installations to 11.4.14 or later, and affected 12.0.0 alpha installations to 12.0.0-alpha.5 or later. Versions 9.14.5 and 10.0.8 are also affected but are no longer supported.
What can be done if an upgrade cannot happen immediately?
Avoid rendering translations through v-html where attacker-controlled parameters or translation content can reach an iframe srcdoc attribute. Using i18n-t instead of the affected v-html rendering path is not affected by this issue.