CVE-2026-81887 Livewire DOM-based cross-site scripting during client-side state handling
An attacker can execute arbitrary JavaScript in the user's browser via a crafted URL due to prototype pollution in Livewire's client-side state handling.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-81887?
CVE-2026-81887 is a medium-severity cross-site scripting vulnerability in livewire, published on 31 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Which versions are affected by CVE-2026-81887?
4 open source packages ship an affected version, including livewire/livewire.
| Package | Affected | Fixed in |
|---|---|---|
livewire/livewire Packagist | From 3.0.0-beta.1 | 3.8.3 |
livewire/livewire Packagist | From 3.0.0-beta.1 | 3.8.3 |
livewire/livewire Packagist | From 4.0.0-beta.1 | 4.3.4 |
livewire/livewire Packagist | From 4.0.0-beta.1 | 4.3.4 |
How do I fix CVE-2026-81887?
Upgrade livewire/livewire to a fixed version for your release line: 3.8.3 or 4.3.4.
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-2026-81887 being exploited?
There is no known exploitation of CVE-2026-81887 in the wild and no public exploit code.
Sources
Also known as CLSA-2026-1790868445, CLSA-2026-1790868699, GHSA-g3hc-697w-wm82.