Description
Vue I18n is the internationalization plugin for Vue.js. The escapeParameterHtml: true option in Vue I18n is designed to protect against HTML/script injection by escaping interpolated parameters. However, starting in version 9.0.0 and prior to versions 9.14.5, 10.0.8, and 11.1.0, this setting fails to prevent execution of certain tag-based payloads, such as <img src=x onerror=...>, if the interpolated value is inserted inside an HTML context using v-html. This may lead to a DOM-based XSS vulnerability, even when using escapeParameterHtml: true, if a translation string includes minor HTML and is rendered via v-html. Versions 9.14.5, 10.0.8, and 11.1.0 contain a fix for the issue.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| intlify | vue-i18n | >= 9.0.0, < 9.14.5, >= 10.0.0, < 10.0.8, >= 11.0.0, < 11.1.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @intlify/core | >= 9.0.0, < 9.14.5 | 9.14.5 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/core | >= 10.0.0, < 10.0.8 | 10.0.8 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/core | >= 11.0.0, < 11.1.10 | 11.1.10 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/core-base | >= 9.0.0, < 9.14.5 | 9.14.5 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/core-base | >= 10.0.0, < 10.0.8 | 10.0.8 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/core-base | >= 11.0.0, < 11.1.10 | 11.1.10 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/vue-i18n-core | >= 9.2.0, < 9.14.5 | 9.14.5 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/vue-i18n-core | >= 10.0.0, < 10.0.8 | 10.0.8 | GHSA-x8qp-wqqm-57ph |
| npm | @intlify/vue-i18n-core | >= 11.0.0, < 11.1.10 | 11.1.10 | GHSA-x8qp-wqqm-57ph |
| npm | petite-vue-i18n | >= 10.0.0, < 10.0.8 | 10.0.8 | GHSA-x8qp-wqqm-57ph |
| npm | petite-vue-i18n | >= 11.0.0, < 11.1.10 | 11.1.10 | GHSA-x8qp-wqqm-57ph |
| npm | vue-i18n | >= 9.0.0, < 9.14.5 | 9.14.5 | GHSA-x8qp-wqqm-57ph |
| npm | vue-i18n | >= 10.0.0, < 10.0.8 | 10.0.8 | GHSA-x8qp-wqqm-57ph |
| npm | vue-i18n | >= 11.0.0, < 11.1.10 | 11.1.10 | GHSA-x8qp-wqqm-57ph |
References
- https://github.com/intlify/vue-i18n/security/advisories/GHSA-x8qp-wqqm-57ph
- https://github.com/intlify/vue-i18n/pull/2229
- https://github.com/intlify/vue-i18n/pull/2230
- https://github.com/intlify/vue-i18n/commit/49f982443ab8fd94ecc427b265ce97d57df94d7e
- https://github.com/intlify/vue-i18n/commit/a47099619fb9b256e86341a8658ebe72e92ab099
- https://github.com/intlify/vue-i18n/releases/tag/v10.0.8
- https://github.com/intlify/vue-i18n/releases/tag/v11.1.10
- https://github.com/intlify/vue-i18n/releases/tag/v9.14.5