Livewire: Authorization bypass in #[Authorize] via reordered parameter keys and #[Json] execution order
Impact
Three issues allowed actions protected by the #[Authorize] attribute to run against records the current user is not authorized for:
- Out-of-order parameter keys on actions.
#[Authorize]resolved a model parameter by its array key, while the action itself received parameters positionally. A request sending params as an object with reordered integer keys (e.g.{"1": 2, "0": 1}) could pass authorization with a record the user owns while the action received a different record. With#[Authorize('delete', 'comment')]ondeleteComment(Comment $comment), a user could delete another user's comment. - The same issue on event listeners. Methods using both
#[On]and#[Authorize]with a model parameter were affected in the same way through the__dispatchcall. #[Json]methods ran before authorization. When a method had both#[Json]and#[Authorize], the method body executed before the authorization check. The response was still a 403, but any side effects (such as database writes) had already happened.
Only applications using the #[Authorize] attribute are affected: on methods that take model parameters (issues 1 and 2), or on #[Json] methods (issue 3). Authorization performed inside the method (e.g. $this->authorize(...)) is not affected. Livewire 3.x is not affected.
Patches
Fixed in v4.4.8. Call and event parameters must now be a list or use named (string) keys, otherwise the request is rejected, and #[Json] methods are authorized before they run.
Workarounds
Upgrade to v4.4.8. If you can't upgrade right away, call $this->authorize(...) inside affected methods instead of relying on the #[Authorize] attribute.
Credits
Reported by Yousef Aman (@yousef-aman).
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | livewire/livewire | >= 4.3.0, < 4.4.8 | 4.4.8 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N- Weakness (CWE)
CWE-863- Platform
- Composer
- Package
livewire/livewire- Disclosed
- 23.10.2026
- Updated
- 24.10.2026 00:17
Sources and licenses
OSV / GitHub Advisory Database - GHSA-mhf7-xp6r-6qrc - CC BY 4.0
Vulnerability history: livewire/livewire
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 6
- First → latest
- 03.2024 10.2026
- Without a fix
- 0
- Exploited in attacks
- 1
Severity breakdown
- Critical 1
- High 1
- Medium 4
Disclosures per year
- 2024: 3
- 2025: 1
- 2026: 2
-
Livewire: Authorization bypass in #[Authorize] via reordered parameter keys and #[Json] execution order this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.