CVE-2026-118257
Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages
Impact
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 packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | vue-i18n | = 9.14.5 | none recorded |
| npm | petite-vue-i18n | = 9.14.5 | none recorded |
| npm | @intlify/core-base | = 9.14.5 | none recorded |
| npm | @intlify/core | = 9.14.5 | none recorded |
| npm | @intlify/vue-i18n-core | = 9.14.5 | none recorded |
| npm | @intlify/shared | = 9.14.5 | none recorded |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-83rm-6c8r-g728
- https://github.com/intlify/vue-i18n/security/advisories/GHSA-83rm-6c8r-g728
- https://github.com/intlify/vue-i18n/pull/2679
- https://github.com/intlify/vue-i18n/commit/43391d20e7c85403cb59bdb21b5d542819f54042
- https://github.com/intlify/vue-i18n/releases/tag/v11.4.14
- https://github.com/intlify/vue-i18n/releases/tag/v12.0.0-alpha.5