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.
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:
composer require shopper/admin:^2.8
None. Upgrade to v2.8.0.
{
"cwe_ids": [
"CWE-269",
"CWE-285"
],
"github_reviewed": true,
"github_reviewed_at": "2026-06-05T20:35:51Z",
"nvd_published_at": "2026-05-29T19:16:26Z",
"severity": "CRITICAL"
}