Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft URL with __proto__ query-string payload
-
DeliveryDistribute link to target user
-
ExploitVictim opens crafted URL in browser
-
InstallfromQueryString() parses __proto__ segment into Object.prototype
-
C2Effect handlers read inherited property as trusted server directive
-
ExecuteArbitrary JavaScript executes in application origin
-
ImpactSession tokens or user data exfiltrated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a user actively opens a specially crafted URL - the attacker cannot trigger the vulnerability server-side or without user interaction. The affected application must be running Livewire 3.0.0-beta.1 through 3.8.2 or 4.0.0 through 4.3.3 with the Livewire JavaScript bundle loaded in the browser. No authentication is required of the attacker (PR:N per CVSS 4.0 vector). The attack does not require any non-default configuration - any standard Livewire deployment with URL history/query-string support enabled (which is a core Livewire feature) is susceptible. Limiting factors include: victim must click or otherwise open the crafted URL (social engineering dependency); impact is bounded to the victim's own session and same-origin context, not the server or other users; the attacker gains no server-side privileges or access beyond what the victim user possesses. |
| Impact | The CVSS 4.0 score of 5.1 (Medium) accurately reflects the primary risk limiter: mandatory active user interaction (UI:A). An attacker cannot exploit this without tricking a victim into opening a crafted URL. The subsequent-system impact metrics (SC:L/SI:L) reflect that the direct server is unaffected - harm is limited to the victim's browser session within the application's same-origin context, enabling cookie theft, credential harvesting, or actions performed on behalf of the victim. No EPSS data was provided, and the vulnerability is not listed in CISA KEV, indicating no confirmed active exploitation at time of analysis. Despite the moderate composite score, the real-world risk is non-trivial: the affected version range spans from the first Livewire 3 beta through current production versions across both the 3.x and 4.x branches, potentially covering a large fraction of deployed Livewire applications. The fix-confirmation via tagged releases and PR diff is strong, but the absence of EPSS and KEV data means exploitation likelihood cannot be independently quantified from available signals. |
| Exploit ScenarioDerived | An attacker crafts a URL such as https://target.example.com/page?__proto__[scripts]=<malicious_js> and distributes it via phishing email or social media. When an authenticated or unauthenticated victim opens the link in their browser, Livewire's fromQueryString() processes the __proto__ segment without sanitization, polluting Object.prototype.scripts with the attacker's payload; the supportScriptsAndAssets.js handler then reads effects.scripts without a hasOwnProperty guard and executes the attacker-controlled JavaScript within the application's origin, potentially exfiltrating session cookies or performing actions as the victim. No public POC has been identified at time of analysis, but the attack mechanism is straightforward for anyone familiar with prototype pollution techniques. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
Prototype pollution in Livewire's client-side query-string parser enables reflected cross-site scripting against applications running versions 3.0.0-beta.1 through 3.8.2 or 4.0.0 through 4.3.3. The dot-notated URL parser in js/plugins/history/index.js accepts __proto__, constructor, and prototype as path segments, injecting attacker-controlled values into Object.prototype; multiple effect handlers then read effects.html, effects.js, effects.xjs, and effects.scripts without hasOwnProperty guards, treating inherited values as trusted server-delivered directives and executing arbitrary JavaScript in the application's origin. No public exploit or CISA KEV listing has been identified at time of analysis, but the network-accessible attack surface and zero-privilege requirement make this a meaningful risk for all unpatched Livewire deployments.
RemediationAI
Upgrade to Livewire 3.8.3 (https://github.com/livewire/livewire/releases/tag/v3.8.3) or Livewire 4.3.4 (https://github.com/livewire/livewire/releases/tag/v4.3.4), confirmed via tagged GitHub releases and the fix commit at https://github.com/livewire/livewire/commit/11ebe646f7e81dde2d714815da8b3019d058561e. The patch adds Object.prototype.hasOwnProperty.call() guards to all effect-reading sites across 11 files and hardens the query-string parser against __proto__, constructor, and prototype path segments. No official pre-patch workaround is documented; as a compensating control, deploying a strict Content Security Policy (CSP) with script-src set to block inline scripts and restrict eval() can prevent injected payloads from executing, though this may require testing for compatibility with the application's existing inline script usage. Trade-off: a restrictive CSP may break Livewire's own runtime JavaScript evaluation features (effects.js, effects.xjs) and requires careful policy tuning. Patching is strongly preferred.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Livewire is a full-stack reactive component framework for Laravel (PHP) identified by CPE cpe:2.3:a:livewire:livewire:*:*:*:*:*:*:*:*. The vulnerability arises in the JavaScript layer, specifically in js/plugins/history/index.js, where fromQueryString() and insertDotNotatedValueIntoData() parse dot-notated query parameters without blocking the reserved prototype chain keys __proto__, constructor, and prototype. This is a classic prototype pollution pattern: writing to __proto__.scripts (for example) modifies Object.prototype, causing every subsequent object property lookup for scripts to return the attacker's value. The downstream effect handlers across supportJsEvaluation.js, supportScriptsAndAssets.js, supportMorphDom.js, supportRedirects.js, supportNavigate.js, supportDispatches.js, supportFileDownloads.js, and supportListeners.js all accessed effects properties using direct property reads (effects.scripts, effects.html, etc.) rather than Object.prototype.hasOwnProperty.call(), meaning inherited pollution values were indistinguishable from legitimate server responses. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the assigned weakness class, though CWE-1321 (Prototype Pollution) more precisely describes the root cause mechanism that enables the XSS outcome.
Know when Livewire gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Network-delivered URL, no attacker privileges, requires victim interaction (UI:R), scope changes to browser origin enabling limited credential theft and DOM manipulation.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Livewire is a full-stack framework for Laravel. From 3.0.0-beta.1 until 3.8.3 and 4.3.4, the dot-notated query-string parser in js/plugins/history/index.js, including fromQueryString() and insertDotNotatedValueIntoData(), accepts the __proto__, constructor, and prototype path segments and creates inherited objects. Client-side state handlers then access effects.html, effects.js, effects.xjs, and effects.scripts without Object.prototype.hasOwnProperty.call(), allowing inherited attacker-controlled state to be treated as trusted effects. An unauthenticated attacker can craft a URL that, when opened by a user, executes arbitrary JavaScript in the affected application's origin. Exploitation requires user interaction and does not bypass server-side authorization or grant privileges beyond the affected user. This issue is fixed in versions 3.8.3 and 4.3.4.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Laravel Livewire v3 through v3.6.3 contains a critical remote code execution vulnerability (CVE-2025-54068, CVSS 9.8) th
Livewire is a full-stack framework for Laravel that allows for dynamic UI components without leaving PHP. Rated high sev
Versions of the package livewire/livewire from 3.3.5 and before 3.4.9 are vulnerable to Cross-site Scripting (XSS) when
Cross-Site Request Forgery (CSRF) vulnerability in livewire before v3.0.4, allows remote attackers to execute arbitrary
Rapyd Admin 9.0.0 through 9.19.x lets an authenticated company member holding the default `customer` role hijack arbitra
Privilege escalation in Shopper 2.0.0 through 2.5.x allows an authenticated admin-panel user who holds only the access_d
EUVD-2026-68765
GHSA-g3hc-697w-wm82
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB