CVE-2026-118257
CVE-2026-118257 · Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages
This page contains facts from public vulnerability sources. Check the original advisory before updating.
This page shows selected source facts. See the linked advisories for the complete description and affected versions.
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.
CVSS 7.2 · High · EPSS 0.3% · Public exploit · Fix available
- Published
- Updated
Stack: node
Affected products and versions
vue-i18n
- Versions
- = 9.14.5: Affected
- = 10.0.8: Affected
- >= 11.1.10, < 11.4.14: Affected
- >= 12.0.0-alpha.4, < 12.0.0-alpha.5: Affected
No fix published
vue-i18n npm
- Versions
- 9.14.5
No fix published
vue-i18n npm
- Versions
- 10.0.8
No fix published
vue-i18n npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
vue-i18n npm
- Versions
- 12.0.0-alpha.4
- Affected ranges
- SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5
Update to 12.0.0-alpha.5
petite-vue-i18n npm
- Versions
- 9.14.5
No fix published
petite-vue-i18n npm
- Versions
- 10.0.8
No fix published
petite-vue-i18n npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
petite-vue-i18n npm
- Versions
- 12.0.0-alpha.4
- Affected ranges
- SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5
Update to 12.0.0-alpha.5
@intlify/core-base npm
- Versions
- 9.14.5
No fix published
@intlify/core-base npm
- Versions
- 10.0.8
No fix published
@intlify/core-base npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
@intlify/core-base npm
- Versions
- 12.0.0-alpha.4
- Affected ranges
- SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5
Update to 12.0.0-alpha.5
@intlify/core npm
- Versions
- 9.14.5
No fix published
@intlify/core npm
- Versions
- 10.0.8
No fix published
@intlify/core npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
@intlify/core npm
- Versions
- 12.0.0-alpha.4
- Affected ranges
- SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5
Update to 12.0.0-alpha.5
@intlify/vue-i18n-core npm
- Versions
- 9.14.5
No fix published
@intlify/vue-i18n-core npm
- Versions
- 10.0.8
No fix published
@intlify/vue-i18n-core npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
@intlify/vue-i18n-core npm
- Versions
- 12.0.0-alpha.4
- Affected ranges
- SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5
Update to 12.0.0-alpha.5
@intlify/shared npm
- Versions
- 9.14.5
No fix published
@intlify/shared npm
- Versions
- 10.0.8
No fix published
@intlify/shared npm
- Affected ranges
- SEMVER: ≥ 11.1.10, < 11.4.14
Update to 11.4.14
Original sources
- 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
- https://nvd.nist.gov/vuln/detail/CVE-2026-118257