CVE-2024-6783 Vue client-side XSS via prototype pollution
Attackers can execute arbitrary JavaScript in Vue applications by exploiting prototype pollution to modify static class or style properties.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-6783?
CVE-2024-6783 is a medium-severity cross-site scripting vulnerability in vue, published on 23 Jul 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A vulnerability has been discovered in Vue, that allows an attacker to perform XSS via prototype pollution. The attacker could change the prototype chain of some properties such as `Object.prototype.staticClass` or `Object.prototype.staticStyle` to execute arbitrary JavaScript code.
Weakness: CWE-79
Which versions are affected by CVE-2024-6783?
2 open source packages ship an affected version, including vue-template-compiler.
| Package | Affected | Fixed in |
|---|---|---|
vue-template-compiler npm | From 2.0.0 | None |
vue-template-compiler npm | From 2.0.0 | None |
How do I fix CVE-2024-6783?
Upgrade to a fixed version.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2024-6783 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-6783 exists.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as CLSA-2026-1774830273, CLSA-2026-1789477857, CLSA-2026-1792340315, CLSA-2026-1793148257, CLSA-2026-1793148263, GHSA-g3ch-rx76-35fx.