CVE-2026-118256
LowCVSS 2.1Exploitation Probability (EPSS)
Low risk41th percentile - higher than 41% of all known CVEs
Summary
Vue I18n from 9.0.0-beta.5 until 11.4.14 and 12.0.0-alpha.5, when escapeParameter (escapeParameterHtml in Legacy API) is enabled, does not escape named interpolation values if the same translation call supplies both list and named values because escapeParams() processes only the list branch. Applications rendering translations as HTML with untrusted named values and a list can insert attacker-controlled markup, including phishing links, forms, and layout changes, and may allow script execution when combined with the srcdoc sanitizer bypass or on releases without the sanitizer. Fixed in 11.4.14 and 12.0.0-alpha.5.
Risk Assessment
An attacker can inject malicious HTML or scripts into rendered translations, enabling phishing, layout manipulation, or script execution in the user's browser. This poses a significant security risk to frontend applications.
Recommendation
Update Vue I18n to version 11.4.14 or 12.0.0-alpha.5. Do not pass untrusted named values together with lists to translations rendered as HTML.
Other vulnerabilities in Vue I18n
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

