CVE-2026-118256: Vue I18n: `escapeParameter` does not escape named values when the same call also passes a list
Vue I18n is the internationalization plugin for Vue.js. From 9.0.0-beta.5 until 11.4.14 and 12.0.0-alpha.5, enabling escapeParameter, called escapeParameterHtml in the Legacy API, does not escape named interpolation values when the same translation call supplies both list and named values because escapeParams() processes only the list branch. Applications that render translations as HTML and pass untrusted named values with a list can insert attacker-controlled markup, including phishing links, forms, and layout changes, and can permit script execution when combined with the srcdoc sanitizer bypass or on releases without the sanitizer. 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 enable escapeParameter (or escapeParameterHtml in the Legacy API), render translations as HTML, and make a translation call that supplies both list and named interpolation values. The named values must be attacker-controlled for markup injection to be possible.
What does an attacker need to exploit it?
An attacker needs control of a named interpolation value used in a translation call that also passes list values. In affected calls, the named value is not escaped despite the escapeParameter setting.
Does this always result in script execution?
No. The issue can insert attacker-controlled HTML such as phishing links, forms, and layout changes. Script execution may be possible when combined with the srcdoc sanitizer bypass or on releases without the sanitizer.
What versions contain a fix?
The issue is fixed in Vue I18n 11.4.14 and 12.0.0-alpha.5.