GHSA-c3qp-2ggw-xjg7
Shopper: Authorization bypass and RBAC privilege escalation in team settings
Quick fix
GHSA-c3qp-2ggw-xjg7 — shopper/framework: upgrade to the fixed version with the command below.
composer require shopper/framework:^2.8.0Details
## Impact
Two distinct authorization defects in the team settings allowed any authenticated panel user to take over the RBAC system:
- `Settings/Team/Index` had no `mount()` authorization. Any authenticated user could load the page and use its public actions to create new roles and delete other users, including administrators. - `Settings/Team/RolePermission` gated its write actions on the read-only `view_users` permission. Any user holding `view_users` could grant themselves or any other user arbitrary permissions, including `manage_users` and `edit_orders`, effectively escalating to full panel administrator from a read-only account.
Combined, these two defects allow a low-privilege authenticated user to obtain administrator privileges and remove the legitimate administrators from the panel.
## Patches
Fixed in `v2.8.0`:
- `Settings/Team/Index::mount()` now authorizes against `manage_users`. - `Settings/Team/RolePermission` write actions now require `manage_users` instead of `view_users`.
Upgrade via:
```bash composer require shopper/admin:^2.8 ```
## Workarounds
None. Upgrade to `v2.8.0`.
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 2.8.0composer require shopper/framework:^2.8.0