{"id":"CVE-2026-81887","aliases":["CLSA-2026-1790868445","CLSA-2026-1790868699","EUVD-2026-68765","GHSA-g3hc-697w-wm82"],"status":"published","title":"Livewire DOM-based cross-site scripting during client-side state handling","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.","severity":{"version":"4.0","score":5.1,"vector":"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","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00682,"percentile":0.52908,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1321","CWE-79"],"published":"2026-08-31T20:12:15Z","modified":"2026-11-04T02:47:56Z","fixes":[{"ecosystem":"Packagist","package":"livewire/livewire","fixed_in":["3.8.3","4.3.4"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Packagist","package":"livewire/livewire","fixed_in":["v3.6.3-p2+tuxcare","v3.6.4-p1+tuxcare"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0-beta.1"},{"last_affected":"3.8.2"},{"fixed":"3.8.3"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0-beta.1"},{"last_affected":"4.3.3"},{"fixed":"4.3.4"}]}]},{"source":"osv","ecosystem":"TuxCare:Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"v3.6.3"},{"fixed":"v3.6.3-p2+tuxcare"}]}],"versions":["v3.6.3","v3.6.3-p1+tuxcare"]},{"source":"osv","ecosystem":"TuxCare:Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"v3.6.4"},{"fixed":"v3.6.4-p1+tuxcare"}]}],"versions":["v3.6.4"]},{"source":"osv","ecosystem":"Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0-beta.1"},{"fixed":"3.8.3"}]}],"versions":["v3.0.0","v3.0.0-beta.1","v3.0.0-beta.10","v3.0.0-beta.11","v3.0.0-beta.2","v3.0.0-beta.3","v3.0.0-beta.4","v3.0.0-beta.5","v3.0.0-beta.6","v3.0.0-beta.7","v3.0.0-beta.8","v3.0.0-beta.9","v3.0.1","v3.0.10","v3.0.2","v3.0.3","v3.0.4","v3.0.5","v3.0.6","v3.0.7","v3.0.8","v3.0.9","v3.1.0","v3.2.0","v3.2.1","v3.2.2","v3.2.3","v3.2.4","v3.2.5","v3.2.6","v3.3.0","v3.3.1","v3.3.2","v3.3.3","v3.3.4","v3.3.5","v3.4.0","v3.4.1","v3.4.10","v3.4.11","v3.4.12","v3.4.2","v3.4.3","v3.4.4","v3.4.5","v3.4.6","v3.4.7","v3.4.8","v3.4.9","v3.5.0","v3.5.1","v3.5.10","v3.5.11","v3.5.12","v3.5.13","v3.5.14","v3.5.15","v3.5.16","v3.5.17","v3.5.18","v3.5.19","v3.5.2","v3.5.20","v3.5.3","v3.5.4","v3.5.5","v3.5.6","v3.5.7","v3.5.8","v3.5.9","v3.6.0","v3.6.1","v3.6.2","v3.6.3","v3.6.4","v3.7.0","v3.7.0-beta.1","v3.7.0-beta.2","v3.7.1","v3.7.10","v3.7.11","v3.7.12","v3.7.13","v3.7.14","v3.7.14-beta.1","v3.7.15","v3.7.2","v3.7.3","v3.7.4","v3.7.5","v3.7.6","v3.7.7","v3.7.8","v3.7.9","v3.8.0","v3.8.1","v3.8.2"]},{"source":"osv","ecosystem":"Packagist","package":"livewire/livewire","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0-beta.1"},{"fixed":"4.3.4"}]}],"versions":["v4.0.0","v4.0.0-beta.1","v4.0.0-beta.2","v4.0.0-beta.3","v4.0.0-beta.4","v4.0.0-beta.5","v4.0.0-beta.6","v4.0.1","v4.0.2","v4.0.3","v4.1.0","v4.1.1","v4.1.2","v4.1.3","v4.1.4","v4.2.0","v4.2.1","v4.2.2","v4.2.3","v4.2.4","v4.2.4-beta.2","v4.3.0","v4.3.1","v4.3.2","v4.3.3"]}],"products":[{"vendor":"livewire","product":"livewire"}],"references":[{"url":"https://github.com/livewire/livewire/security/advisories/GHSA-g3hc-697w-wm82","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/livewire/livewire/pull/10467","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/livewire/livewire/commit/11ebe646f7e81dde2d714815da8b3019d058561e","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/livewire/livewire/releases/tag/v3.8.3","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/livewire/livewire/releases/tag/v4.3.4","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-81887","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-g3hc-697w-wm82"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/81xxx/CVE-2026-81887.json","tags":["advisory"]},{"url":"https://github.com/livewire/livewire","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-81887","title":"Livewire DOM-based cross-site scripting during client-side state handling","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.","status":"published","published":"2026-08-31T20:12:15.932Z","modified":"2026-09-03T18:03:10.981Z","cvss":[{"version":"4.0","score":5.1,"vector":"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","level":"medium","assessor":"cna"}],"cwes":["CWE-79","CWE-1321"],"updated_at":"2026-11-02T13:36:29.327819Z"}],"euvd":[{"id":"EUVD-2026-68765","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.","status":"published","published":"2026-08-31T20:12:15Z","modified":"2026-09-03T18:03:10Z","cvss":[{"version":"4.0","score":5.1,"vector":"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","level":"medium"}],"updated_at":"2026-11-02T18:01:13.160542Z"}],"ghsa":[{"id":"GHSA-g3hc-697w-wm82","title":"Livewire DOM-based cross-site scripting during client-side state handling","description":"### Impact\nIn Livewire v3 (≤ 3.8.2) and v4 (≤ 4.3.3), a vulnerability allows unauthenticated attackers to execute arbitrary JavaScript in the origin of an affected application in specific scenarios. The issue stems from how certain client-side component state is handled. This vulnerability does not affect prior major versions. Exploitation requires user interaction, but does not require authentication or prior access to the application. The issue does not bypass server-side authorisation and grants an attacker no privileges beyond those the affected user already holds.\n\n### Patches\nThis issue has been patched in Livewire v3.8.3 and v4.3.4. All users are strongly encouraged to upgrade to these versions or later as soon as possible.\n\n### Workarounds\nThere is no known workaround at this time. Users are strongly advised to upgrade to a patched version immediately.","status":"published","published":"2026-09-02T14:38:58Z","modified":"2026-09-02T14:38:59Z","cvss":[{"version":"4.0","score":5.1,"vector":"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","level":"medium"}],"cwes":["CWE-79","CWE-1321"],"updated_at":"2026-11-02T14:41:10.121131Z"}],"nvd":[{"id":"CVE-2026-81887","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.","status":"published","published":"2026-08-31T21:17:52.157Z","modified":"2026-09-09T21:09:13.08Z","cvss":[{"version":"4.0","score":5.1,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"}],"cwes":["CWE-79","CWE-1321"],"updated_at":"2026-11-02T14:12:42.691315Z"}],"osv":[{"id":"CVE-2026-81887","title":"Livewire DOM-based cross-site scripting during client-side state handling","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.","status":"published","published":"2026-08-31T20:12:15.932Z","modified":"2026-11-04T02:47:56.212730092Z","cvss":[{"version":"4.0","score":5.1,"vector":"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","level":"medium"}],"cwes":["CWE-1321","CWE-79"],"updated_at":"2026-11-04T02:52:29.711405Z"},{"id":"GHSA-g3hc-697w-wm82","title":"Livewire DOM-based cross-site scripting during client-side state handling","description":"### Impact\nIn Livewire v3 (≤ 3.8.2) and v4 (≤ 4.3.3), a vulnerability allows unauthenticated attackers to execute arbitrary JavaScript in the origin of an affected application in specific scenarios. The issue stems from how certain client-side component state is handled. This vulnerability does not affect prior major versions. Exploitation requires user interaction, but does not require authentication or prior access to the application. The issue does not bypass server-side authorisation and grants an attacker no privileges beyond those the affected user already holds.\n\n### Patches\nThis issue has been patched in Livewire v3.8.3 and v4.3.4. All users are strongly encouraged to upgrade to these versions or later as soon as possible.\n\n### Workarounds\nThere is no known workaround at this time. Users are strongly advised to upgrade to a patched version immediately.","status":"published","published":"2026-09-02T14:38:58Z","modified":"2026-09-02T14:45:06.133648877Z","cvss":[{"version":"4.0","score":5.1,"vector":"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","level":"medium"}],"cwes":["CWE-1321","CWE-79"],"updated_at":"2026-11-02T15:46:47.119724Z"},{"id":"CLSA-2026-1790868445","title":"TuxCare security update for livewire/livewire (1 CVE)","description":"TuxCare rebuilt livewire/livewire to address 1 CVE. Fixed in v3.6.3-p2+tuxcare.","status":"published","published":"2026-10-01T15:27:25Z","modified":"2026-10-15T09:48:04.77775217Z","updated_at":"2026-11-02T15:43:48.65893Z"},{"id":"CLSA-2026-1790868699","title":"TuxCare security update for livewire/livewire (1 CVE)","description":"TuxCare rebuilt livewire/livewire to address 1 CVE. Fixed in v3.6.4-p1+tuxcare.","status":"published","published":"2026-10-01T15:31:39Z","modified":"2026-10-15T09:48:04.77872961Z","updated_at":"2026-11-02T15:43:48.65893Z"}]}}
