CVE-2026-81887: Livewire DOM-based cross-site scripting during client-side state handling
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Livewireto a version that resolves this vulnerability.Fixed in 3.8.3 - Upgrade
Upgrade
Livewireto a version that resolves this vulnerability.Fixed in 4.3.4
Event History
Frequently Asked Questions
Who can exploit this issue, and what must they do?
An unauthenticated attacker can craft a malicious URL containing dot-notated query-string paths. Exploitation requires a user to open that URL in an affected application's origin.
What is the impact on a user who opens a malicious link?
The attacker can execute arbitrary JavaScript in the affected application's origin, within the context of the user who opened the link. The issue does not bypass server-side authorization or grant privileges beyond that affected user.
Which versions should be remediated?
Affected releases run from 3.0.0-beta.1 through versions before 3.8.3 in the 3.x line, and versions before 4.3.4 in the 4.x line. Upgrade to 3.8.3 or 4.3.4 as applicable.