Read the docs
TI-2025-33767 Aliases CVE-2025-53892GHSA-x8qp-wqqm-57ph

Intlify Vue I18n's escapeParameterHtml does not prevent DOM-based XSS via tag attributes like onerror

Priority MEDIUM 57CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00808 57th percentileScored 2026-11-07
Fix Fixed vue-i18n (intlify): 9.14.5, 10.0.8, 11.1.0vue-i18n (npm): 9.14.5, 10.0.8, 11.1.10+4 more products

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
intlifyvue-i18n9.0.0 to before 9.14.5; 10.0.0 to before 10.0.8; 11.0.0 to before 11.1.09.14.5, 10.0.8, 11.1.0Patch availableCNA
—vue-i18n (npm)9.0.0 to before 9.14.59.14.5Patch availableGHSA-x8qp-wqqm-57ph
—vue-i18n (npm)10.0.0 to before 10.0.810.0.8Patch availableGHSA-x8qp-wqqm-57ph
—vue-i18n (npm)11.0.0 to before 11.1.1011.1.10Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core (npm)9.0.0 to before 9.14.59.14.5Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core (npm)10.0.0 to before 10.0.810.0.8Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core (npm)11.0.0 to before 11.1.1011.1.10Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core-base (npm)9.0.0 to before 9.14.59.14.5Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core-base (npm)10.0.0 to before 10.0.810.0.8Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/core-base (npm)11.0.0 to before 11.1.1011.1.10Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/vue-i18n-core (npm)9.2.0 to before 9.14.59.14.5Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/vue-i18n-core (npm)10.0.0 to before 10.0.810.0.8Patch availableGHSA-x8qp-wqqm-57ph
—@intlify/vue-i18n-core (npm)11.0.0 to before 11.1.1011.1.10Patch availableGHSA-x8qp-wqqm-57ph
—petite-vue-i18n (npm)10.0.0 to before 10.0.810.0.8Patch availableGHSA-x8qp-wqqm-57ph
—petite-vue-i18n (npm)11.0.0 to before 11.1.1011.1.10Patch availableGHSA-x8qp-wqqm-57ph
  • vue-i18n Vendorintlify Affected 9.0.0 to before 9.14.5; 10.0.0 to before 10.0.8; 11.0.0 to before 11.1.0 Fixed in 9.14.5, 10.0.8, 11.1.0 Patch available CNA
  • vue-i18n (npm) Vendor— Affected 9.0.0 to before 9.14.5 Fixed in 9.14.5 Patch available GHSA-x8qp-wqqm-57ph
  • vue-i18n (npm) Vendor— Affected 10.0.0 to before 10.0.8 Fixed in 10.0.8 Patch available GHSA-x8qp-wqqm-57ph
  • vue-i18n (npm) Vendor— Affected 11.0.0 to before 11.1.10 Fixed in 11.1.10 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core (npm) Vendor— Affected 9.0.0 to before 9.14.5 Fixed in 9.14.5 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core (npm) Vendor— Affected 10.0.0 to before 10.0.8 Fixed in 10.0.8 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core (npm) Vendor— Affected 11.0.0 to before 11.1.10 Fixed in 11.1.10 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core-base (npm) Vendor— Affected 9.0.0 to before 9.14.5 Fixed in 9.14.5 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core-base (npm) Vendor— Affected 10.0.0 to before 10.0.8 Fixed in 10.0.8 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/core-base (npm) Vendor— Affected 11.0.0 to before 11.1.10 Fixed in 11.1.10 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/vue-i18n-core (npm) Vendor— Affected 9.2.0 to before 9.14.5 Fixed in 9.14.5 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/vue-i18n-core (npm) Vendor— Affected 10.0.0 to before 10.0.8 Fixed in 10.0.8 Patch available GHSA-x8qp-wqqm-57ph
  • @intlify/vue-i18n-core (npm) Vendor— Affected 11.0.0 to before 11.1.10 Fixed in 11.1.10 Patch available GHSA-x8qp-wqqm-57ph
  • petite-vue-i18n (npm) Vendor— Affected 10.0.0 to before 10.0.8 Fixed in 10.0.8 Patch available GHSA-x8qp-wqqm-57ph
  • petite-vue-i18n (npm) Vendor— Affected 11.0.0 to before 11.1.10 Fixed in 11.1.10 Patch available GHSA-x8qp-wqqm-57ph

Remediation

  • Fix · CNA vue-i18n (intlify) Fixed in 9.14.5, 10.0.8, 11.1.0
  • Fix · GHSA-x8qp-wqqm-57ph vue-i18n (npm) Fixed in 9.14.5 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph vue-i18n (npm) Fixed in 10.0.8 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph vue-i18n (npm) Fixed in 11.1.10 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core (npm) Fixed in 9.14.5 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core (npm) Fixed in 10.0.8 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core (npm) Fixed in 11.1.10 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core-base (npm) Fixed in 9.14.5 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core-base (npm) Fixed in 10.0.8 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/core-base (npm) Fixed in 11.1.10 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/vue-i18n-core (npm) Fixed in 9.14.5 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/vue-i18n-core (npm) Fixed in 10.0.8 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph @intlify/vue-i18n-core (npm) Fixed in 11.1.10 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph petite-vue-i18n (npm) Fixed in 10.0.8 Advisory →
  • Fix · GHSA-x8qp-wqqm-57ph petite-vue-i18n (npm) Fixed in 11.1.10 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-53892
  2. 2026-10-03 Alias added: GHSA-x8qp-wqqm-57ph

References

  • TI-2025-20407 Vue I18n Prototype Pollution in `handleFlatJson` CVSS 4.0HIGH 8.9
  • TI-2024-35322 Prototype Pollution in @intlify/shared >=9.7.0 <= 10.0.4 CVSS 4.0MEDIUM 6.9
  • TI-2024-35321 Cross-site Scripting vulnerability with prototype pollution in vue-i18n CVSS 4.0MEDIUM 5.3
  • TI-2026-82143 Vue I18n escapeParameter misses named values when a list is passed CVSS 4.0LOW 2.1
  • TI-2026-82144 Cross-site scripting in Vue I18n translations through iframe srcdoc CVSS 3.1HIGH 7.2

Sources