CVE-2024-52809:
vue-i18n has cross-site scripting vulnerability with prototype pollution
5.3
CVSS Score
4.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.43037%
CWE
Published
12/2/2024
Updated
12/2/2024
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
@intlify/core-base | npm | >= 9.3.0, < 9.14.2 | 9.14.2 |
vue-i18n | npm | >= 9.3.0, < 9.14.2 | 9.14.2 |
@intlify/core | npm | >= 9.3.0, < 9.14.2 | 9.14.2 |
@intlify/vue-i18n-core | npm | >= 9.3.0, < 9.14.2 | 9.14.2 |
petite-vue-i18n | npm | >= 10.0.0, < 10.0.5 | 10.0.5 |
@intlify/core-base | npm | >= 10.0.0, < 10.0.5 | 10.0.5 |
vue-i18n | npm | >= 10.0.0, < 10.0.5 | 10.0.5 |
@intlify/core | npm | >= 10.0.0, < 10.0.5 | 10.0.5 |
@intlify/vue-i18n-core | npm | >= 10.0.0, < 10.0.5 | 10.0.5 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from prototype pollution affecting AST node property access. The commit diff shows critical changes in format.ts
and compilation.ts
where property access was modified to use hasOwn()
and resolveProps()
instead of prototype-based checks. Key functions like formatMessageParts
previously accessed properties like 'static' through node.s
/node.static
without ownership checks, allowing attackers to inject malicious properties via Object.prototype
. The fix introduced resolveProps()
to check own properties explicitly, confirming these were the vulnerable points.