CVE-2026-118256 json
Vue I18n: `escapeParameter` does not escape named values when the same call also passes a list
published 2026-10-28 11 d ago modified 2026-10-30 9 d ago also GHSA-8rc2-428q-7ww3 , EUVD-2026-112358
- cvss
- 2.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm vue-i18n 11.4.14, 12.0.0-alpha.5
- npm @intlify/core 11.4.14, 12.0.0-alpha.5
- npm @intlify/core-base 11.4.14, 12.0.0-alpha.5
- npm petite-vue-i18n 11.4.14, 12.0.0-alpha.5
- npm @intlify/vue-i18n-core 11.4.14, 12.0.0-alpha.5
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-118256 updated cvss 4.7
vue-i18n: vue-i18n: HTML injection via unescaped named interpolation parameters
-
Red Hat OpenShift API for Data Protection oadp/oadp-vmfr-access-filebrowser-rhel9not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 9 d ago
Exploit prediction
0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/intlify/vue-i18n/security/advisories/GHSA-8rc2-428q-7ww3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N |
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | vue-i18n | >=9.0.0-beta.5, <11.4.14 >=12.0.0-alpha.1, <12.0.0-alpha.5 |
11.4.14 12.0.0-alpha.5 |
| npm | @intlify/core | >=9.0.0-beta.10, <11.4.14 >=12.0.0-alpha.1, <12.0.0-alpha.5 |
11.4.14 12.0.0-alpha.5 |
| npm | @intlify/core-base | >=9.0.0-beta.12, <11.4.14 >=12.0.0-alpha.1, <12.0.0-alpha.5 |
11.4.14 12.0.0-alpha.5 |
| npm | petite-vue-i18n | >=9.2.0-alpha.7, <11.4.14 >=12.0.0-alpha.1, <12.0.0-alpha.5 |
11.4.14 12.0.0-alpha.5 |
| npm | @intlify/vue-i18n-core | >=9.2.0-alpha.7, <11.4.14 >=12.0.0-alpha.1, <12.0.0-alpha.5 |
11.4.14 12.0.0-alpha.5 |
Affected products
- intlify vue-i18n
Classification
References
-
github.com
/intlify/vue-i18n/pull/2680
web
-
github.com
/intlify/vue-i18n/commit/d657ce8f4b3b6b198a8f6e3d09e2b57a5d019fb8
web
-
github.com
/intlify/vue-i18n/security/advisories/GHSA-8rc2-428q-7ww3
exploit, web
-
github.com
/intlify/vue-i18n
package
-
github.com
/intlify/vue-i18n/releases/tag/v11.4.14
web
-
github.com
/intlify/vue-i18n/releases/tag/v12.0.0-alpha.5
web
Sources
- CVE List CVE-2026-118256
- GitHub Advisory GHSA-8rc2-428q-7ww3
- NVD CVE-2026-118256
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.