Read the docs
TI-2025-20407 Aliases CVE-2025-27597GHSA-p2ph-7g93-hw3m

Vue I18n Prototype Pollution in `handleFlatJson`

Priority HIGH 80CWE-1321Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

Summary

Vue I18n is the internationalization plugin for Vue.js. @intlify/message-resolver and @intlify/vue-i18n-core are vulnerable to Prototype Pollution through the entry function: handleFlatJson. An attacker can supply a payload with Object.prototype setter to introduce or modify properties within the global prototype chain, causing denial of service (DoS) a the minimum consequence. Moreover, the consequences of this vulnerability can escalate to other injection-based attacks, depending on how the library integrates within the application. For instance, if the polluted property propagates to sensitive Node.js APIs (e.g., exec, eval), it could enable an attacker to execute arbitrary commands within the application's context.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00625 50th percentileScored 2026-11-07
Fix Fixed vue-i18n (intlify): 9.14.3, 10.0.6, 11.1.2@intlify/message-resolver (npm): 9.1.11+5 more products

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

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.1.0 to before 9.14.3; 10.0.0-alpha.1 to before 10.0.6; 11.0.0-beta.0 to before 11.1.29.14.3, 10.0.6, 11.1.2Patch availableCNA
—@intlify/message-resolver (npm)9.1.0 to before 9.1.119.1.11Patch availableGHSA-p2ph-7g93-hw3m
—@intlify/vue-i18n-core (npm)9.2.0 to before 9.14.39.14.3Patch availableGHSA-p2ph-7g93-hw3m
—petite-vue-i18n (npm)10.0.0 to before 10.0.610.0.6Patch availableGHSA-p2ph-7g93-hw3m
—vue-i18n (npm)9.1.0 to before 9.14.39.14.3Patch availableGHSA-p2ph-7g93-hw3m
—@intlify/core-base (npm)9.1.0 to before 9.1.119.1.11Patch availableGHSA-p2ph-7g93-hw3m
—@intlify/core (npm)9.1.0 to before 9.1.119.1.11Patch availableGHSA-p2ph-7g93-hw3m
—@intlify/vue-i18n-core (npm)10.0.0-alpha.1 to before 10.0.610.0.6Patch availableGHSA-p2ph-7g93-hw3m
—@intlify/vue-i18n-core (npm)11.0.0-beta.0 to before 11.1.211.1.2Patch availableGHSA-p2ph-7g93-hw3m
—petite-vue-i18n (npm)11.0.0-beta.0 to before 11.1.211.1.2Patch availableGHSA-p2ph-7g93-hw3m
—vue-i18n (npm)10.0.0-alpha.1 to before 10.0.610.0.6Patch availableGHSA-p2ph-7g93-hw3m
—vue-i18n (npm)11.0.0-beta.0 to before 11.1.211.1.2Patch availableGHSA-p2ph-7g93-hw3m
  • vue-i18n Vendorintlify Affected 9.1.0 to before 9.14.3; 10.0.0-alpha.1 to before 10.0.6; 11.0.0-beta.0 to before 11.1.2 Fixed in 9.14.3, 10.0.6, 11.1.2 Patch available CNA
  • @intlify/message-resolver (npm) Vendor— Affected 9.1.0 to before 9.1.11 Fixed in 9.1.11 Patch available GHSA-p2ph-7g93-hw3m
  • @intlify/vue-i18n-core (npm) Vendor— Affected 9.2.0 to before 9.14.3 Fixed in 9.14.3 Patch available GHSA-p2ph-7g93-hw3m
  • petite-vue-i18n (npm) Vendor— Affected 10.0.0 to before 10.0.6 Fixed in 10.0.6 Patch available GHSA-p2ph-7g93-hw3m
  • vue-i18n (npm) Vendor— Affected 9.1.0 to before 9.14.3 Fixed in 9.14.3 Patch available GHSA-p2ph-7g93-hw3m
  • @intlify/core-base (npm) Vendor— Affected 9.1.0 to before 9.1.11 Fixed in 9.1.11 Patch available GHSA-p2ph-7g93-hw3m
  • @intlify/core (npm) Vendor— Affected 9.1.0 to before 9.1.11 Fixed in 9.1.11 Patch available GHSA-p2ph-7g93-hw3m
  • @intlify/vue-i18n-core (npm) Vendor— Affected 10.0.0-alpha.1 to before 10.0.6 Fixed in 10.0.6 Patch available GHSA-p2ph-7g93-hw3m
  • @intlify/vue-i18n-core (npm) Vendor— Affected 11.0.0-beta.0 to before 11.1.2 Fixed in 11.1.2 Patch available GHSA-p2ph-7g93-hw3m
  • petite-vue-i18n (npm) Vendor— Affected 11.0.0-beta.0 to before 11.1.2 Fixed in 11.1.2 Patch available GHSA-p2ph-7g93-hw3m
  • vue-i18n (npm) Vendor— Affected 10.0.0-alpha.1 to before 10.0.6 Fixed in 10.0.6 Patch available GHSA-p2ph-7g93-hw3m
  • vue-i18n (npm) Vendor— Affected 11.0.0-beta.0 to before 11.1.2 Fixed in 11.1.2 Patch available GHSA-p2ph-7g93-hw3m

Remediation

  • Fix · CNA vue-i18n (intlify) Fixed in 9.14.3, 10.0.6, 11.1.2
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/message-resolver (npm) Fixed in 9.1.11 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/vue-i18n-core (npm) Fixed in 9.14.3 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m petite-vue-i18n (npm) Fixed in 10.0.6 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m vue-i18n (npm) Fixed in 9.14.3 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/core-base (npm) Fixed in 9.1.11 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/core (npm) Fixed in 9.1.11 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/vue-i18n-core (npm) Fixed in 10.0.6 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m @intlify/vue-i18n-core (npm) Fixed in 11.1.2 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m petite-vue-i18n (npm) Fixed in 11.1.2 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m vue-i18n (npm) Fixed in 10.0.6 Advisory →
  • Fix · GHSA-p2ph-7g93-hw3m vue-i18n (npm) Fixed in 11.1.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-27597
  2. 2026-10-03 Alias added: GHSA-p2ph-7g93-hw3m
  3. 2026-11-03 EPSS moved to the 50th–90th percentile

References

  • TI-2024-35322 Prototype Pollution in @intlify/shared >=9.7.0 <= 10.0.4 CVSS 4.0MEDIUM 6.9
  • TI-2025-33767 Intlify Vue I18n's escapeParameterHtml does not prevent DOM-based XSS via tag attributes like onerror CVSS 4.0MEDIUM 5.3
  • 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