[ CVE-2026-118257 · Published 28 Oct 2026 ]
Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages
[ Description ]Official description
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.
[ Fixes ]Fixes and patches
- vue-i18n 11.4.14Fixed version · GitHub Advisories · npm package vue-i18n: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- vue-i18n 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package vue-i18n: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
- petite-vue-i18n 11.4.14Fixed version · GitHub Advisories · npm package petite-vue-i18n: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- petite-vue-i18n 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package petite-vue-i18n: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
- @intlify/core-base 11.4.14Fixed version · GitHub Advisories · npm package @intlify/core-base: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- @intlify/core-base 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package @intlify/core-base: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
- @intlify/core 11.4.14Fixed version · GitHub Advisories · npm package @intlify/core: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- @intlify/core 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package @intlify/core: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
- @intlify/vue-i18n-core 11.4.14Fixed version · GitHub Advisories · npm package @intlify/vue-i18n-core: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- @intlify/vue-i18n-core 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package @intlify/vue-i18n-core: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
- @intlify/shared 11.4.14Fixed version · GitHub Advisories · npm package @intlify/shared: upgrade to 11.4.14 or later (affected >= 11.1.10, < 11.4.14)
- @intlify/shared 12.0.0-alpha.5Fixed version · GitHub Advisories · npm package @intlify/shared: upgrade to 12.0.0-alpha.5 or later (affected = 12.0.0-alpha.4)
[ Packages ]Affected open-source packages
- vue-i18n npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- vue-i18n npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- vue-i18n npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- vue-i18n npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728
- petite-vue-i18n npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- petite-vue-i18n npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- petite-vue-i18n npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- petite-vue-i18n npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728
- @intlify/core-base npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- @intlify/core-base npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- @intlify/core-base npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- @intlify/core-base npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728
- @intlify/core npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- @intlify/core npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- @intlify/core npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- @intlify/core npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728
- @intlify/vue-i18n-core npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- @intlify/vue-i18n-core npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- @intlify/vue-i18n-core npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- @intlify/vue-i18n-core npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728
- @intlify/shared npmAffected = 9.14.5 · GHSA-83rm-6c8r-g728
- @intlify/shared npmAffected = 10.0.8 · GHSA-83rm-6c8r-g728
- @intlify/shared npmAffected >= 11.1.10, < 11.4.14 · fixed in 11.4.14 · GHSA-83rm-6c8r-g728
- @intlify/shared npmAffected = 12.0.0-alpha.4 · fixed in 12.0.0-alpha.5 · GHSA-83rm-6c8r-g728