CVE-2026-81887
Livewire DOM-based cross-site scripting during client-side state handling
Impact
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 packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | livewire/livewire | >= 3.0.0-beta.1, <= 3.8.2 | 3.8.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-g3hc-697w-wm82
- https://github.com/livewire/livewire/security/advisories/GHSA-g3hc-697w-wm82
- https://nvd.nist.gov/vuln/detail/CVE-2026-81887
- https://github.com/livewire/livewire/pull/10467
- https://github.com/livewire/livewire/commit/11ebe646f7e81dde2d714815da8b3019d058561e
- https://github.com/livewire/livewire/releases/tag/v3.8.3
- https://github.com/livewire/livewire/releases/tag/v4.3.4