CVE-2025-8083
JavaScript vulnerability analysis and mitigation

Overview

CVE-2025-8083 is a Prototype Pollution vulnerability in Vuetify's Preset configuration feature, caused by the internal mergeDeep utility function used to merge options with defaults. It affects Vuetify versions >= 2.2.0-beta.2 and < 3.0.0-alpha.10. The vulnerability was disclosed on December 12, 2025, and assigned a CVSS v3.1 base score of 8.6 (High). Notably, Vuetify 2.x is End-of-Life and will not receive a patch for this issue (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes), where the mergeDeep utility function in Vuetify's preset configuration system fails to sanitize keys such as __proto__, constructor, or prototype when recursively merging user-supplied preset objects with defaults. An unauthenticated remote attacker can supply a specially crafted preset object containing malicious keys that propagate arbitrary properties to the global JavaScript object prototype, affecting all objects in the runtime. A public proof-of-concept demonstrating the issue is available on CodePen (GitHub Advisory, HeroDevs Advisory).

Impact

Successful exploitation allows an attacker to inject arbitrary properties into all JavaScript objects within the application, potentially causing resource exhaustion or denial of service, unauthorized access to sensitive data, and corruption of application logic and integrity. In Server-Side Rendering (SSR) deployments, the pollution affects the entire server process — meaning all users sharing that process could be impacted simultaneously, significantly amplifying the blast radius. Confidentiality and integrity impacts are rated Low, while availability impact is rated High (GitHub Advisory, Red Hat Bugzilla).

Exploitability

As of the disclosure date, there is no evidence of active in-the-wild exploitation or weaponized exploit kits. A public proof-of-concept is available on CodePen, demonstrating the prototype pollution behavior (GitHub Advisory). The EPSS score is approximately 0.046% (0.000460), placing it in the 42nd percentile for exploitation probability within 30 days. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Identify target: Locate a web application using Vuetify versions >= 2.2.0-beta.2 and < 3.0.0-alpha.10, particularly those accepting user-controlled preset configurations or exposing preset-related functionality.
  2. Craft malicious preset: Construct a JavaScript object with a prototype-polluting key, such as {"__proto__": {"isAdmin": true}} or {"constructor": {"prototype": {"polluted": true}}}, to be passed as a Vuetify preset.
  3. Inject the payload: Supply the crafted preset to the application's Vuetify initialization (e.g., via a configuration endpoint, user-controlled theme/preset input, or server-side preset loading mechanism).
  4. Trigger mergeDeep: The vulnerable mergeDeep function processes the malicious preset, recursively merging the attacker-controlled keys into the JavaScript object prototype without sanitization.
  5. Achieve impact: All subsequently created JavaScript objects in the runtime inherit the injected properties, enabling denial of service, bypassing access controls, or manipulating application behavior. In SSR environments, the pollution persists across all user sessions on the server process (GitHub Advisory, HeroDevs Advisory).

Indicators of compromise

  • Application Behavior: Unexpected properties appearing on base JavaScript objects (Object.prototype) such as isAdmin, polluted, or other anomalous keys detectable via runtime object inspection.
  • Logs: Server-side errors or unexpected behavior in SSR environments following processing of preset configuration inputs; unusual crashes or resource exhaustion events in Node.js processes serving Vuetify SSR applications.
  • Network: HTTP requests containing JSON payloads with keys such as __proto__, constructor, or prototype targeting preset configuration endpoints.
  • Process: Node.js server process exhibiting degraded performance, unexpected memory growth, or serving incorrect data to multiple users simultaneously in SSR deployments.

Mitigation and workarounds

The only patched version is Vuetify 3.0.0-alpha.10 or later; upgrading to a non-affected version is the recommended remediation (GitHub Advisory). Vuetify 2.x is End-of-Life and will not receive a security patch for this issue. For applications that cannot upgrade, recommended mitigations include: (1) implementing strict input validation and sanitization for all preset configuration inputs, blocking keys such as __proto__, constructor, and prototype; (2) disabling Server-Side Rendering if feasible to limit blast radius; (3) applying runtime protections such as Object.freeze(Object.prototype) where applicable; and (4) monitoring for unexpected object prototype modifications (HeroDevs Advisory).

Community reactions

The vulnerability was discovered and reported by HeroDevs, a company specializing in support for end-of-life open source software, who published a detailed advisory and a CodePen proof-of-concept (HeroDevs Advisory). Red Hat tracked the issue via Bugzilla and assessed it as high severity (Red Hat Bugzilla). Community discussion was noted on Bluesky and in vulnerability digest publications shortly after disclosure. HeroDevs also published a blog post highlighting this alongside another Vuetify 2.x vulnerability, emphasizing the risks of running end-of-life frontend frameworks (HeroDevs Blog).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77415CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77414CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77413CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-63421HIGH7.5
  • JavaScript logoJavaScript
  • @keystone-6/core
NoYesAug 21, 2026
CVE-2026-53509MEDIUM5.7
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management