Vue I18n Prototype Pollution in `handleFlatJson`
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| intlify | vue-i18n | 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 | 9.14.3, 10.0.6, 11.1.2 | Patch available | CNA |
| — | @intlify/message-resolver (npm) | 9.1.0 to before 9.1.11 | 9.1.11 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | @intlify/vue-i18n-core (npm) | 9.2.0 to before 9.14.3 | 9.14.3 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | petite-vue-i18n (npm) | 10.0.0 to before 10.0.6 | 10.0.6 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | vue-i18n (npm) | 9.1.0 to before 9.14.3 | 9.14.3 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | @intlify/core-base (npm) | 9.1.0 to before 9.1.11 | 9.1.11 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | @intlify/core (npm) | 9.1.0 to before 9.1.11 | 9.1.11 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | @intlify/vue-i18n-core (npm) | 10.0.0-alpha.1 to before 10.0.6 | 10.0.6 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | @intlify/vue-i18n-core (npm) | 11.0.0-beta.0 to before 11.1.2 | 11.1.2 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | petite-vue-i18n (npm) | 11.0.0-beta.0 to before 11.1.2 | 11.1.2 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | vue-i18n (npm) | 10.0.0-alpha.1 to before 10.0.6 | 10.0.6 | Patch available | GHSA-p2ph-7g93-hw3m |
| — | vue-i18n (npm) | 11.0.0-beta.0 to before 11.1.2 | 11.1.2 | Patch available | GHSA-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
- 2026-10-02 Threatist record created from CVE-2025-27597
- 2026-10-03 Alias added: GHSA-p2ph-7g93-hw3m
- 2026-11-03 EPSS moved to the 50th–90th percentile
References
Other 9
- https://github.com/intlify/vue-i18n/security/advisories/GHSA-p2ph-7g93-hw3m
- https://github.com/intlify/vue-i18n/commit/4bb6eacda7fc2cde5687549afa0efb27ca40862a
- https://github.com/intlify/vue-i18n/commit/d21e06a7440eed8ada7f522b22fcf830b98d3a53
- https://github.com/intlify/vue-i18n/commit/fbda9988d3ddd3a1a21740d506d2c183d6b6e36a
- https://github.com/intlify/vue-i18n/commit/feaf13fcff427f2cb1d5ec8076e639506ba28f9e
- https://github.com/intlify/vue-i18n
- https://github.com/intlify/vue-i18n/releases/tag/v10.0.6
- https://github.com/intlify/vue-i18n/releases/tag/v11.1.2
- https://github.com/intlify/vue-i18n/releases/tag/v9.14.3
More intlify vulnerabilities
- 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
- CVE-2025-27597 · CVE Program
- CVE-2025-27597 · NVD
- FIRST EPSS
- GHSA-p2ph-7g93-hw3m · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences