{"id":"GHSA-c3qp-2ggw-xjg7","summary":"Shopper: Authorization bypass and RBAC privilege escalation in team settings","details":"## Impact\n\nTwo distinct authorization defects in the team settings allowed any authenticated panel user to take over the RBAC system:\n\n- `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.\n- `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.\n\nCombined, these two defects allow a low-privilege authenticated user to obtain administrator privileges and remove the legitimate administrators from the panel.\n\n## Patches\n\nFixed in `v2.8.0`:\n\n- `Settings/Team/Index::mount()` now authorizes against `manage_users`.\n- `Settings/Team/RolePermission` write actions now require `manage_users` instead of `view_users`.\n\nUpgrade via:\n\n```bash\ncomposer require shopper/admin:^2.8\n```\n\n## Workarounds\n\nNone. Upgrade to `v2.8.0`.","aliases":["CVE-2026-47744"],"modified":"2026-09-10T03:51:08.407948021Z","published":"2026-06-05T20:35:51Z","database_specific":{"github_reviewed_at":"2026-06-05T20:35:51Z","nvd_published_at":"2026-05-29T19:16:26Z","cwe_ids":["CWE-269","CWE-285"],"severity":"CRITICAL","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/shopperlabs/shopper/security/advisories/GHSA-c3qp-2ggw-xjg7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47744"},{"type":"WEB","url":"https://github.com/shopperlabs/shopper/pull/511"},{"type":"PACKAGE","url":"https://github.com/shopperlabs/shopper"}],"affected":[{"package":{"name":"shopper/framework","ecosystem":"Packagist","purl":"pkg:composer/shopper/framework"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.8.0"}]}],"versions":["v2.0.0","v2.0.0-alpha","v2.0.0-beta","v2.0.0-beta10","v2.0.0-beta11","v2.0.0-beta12","v2.0.0-beta13","v2.0.0-beta14","v2.0.0-beta15","v2.0.0-beta16","v2.0.0-beta17","v2.0.0-beta18","v2.0.0-beta19","v2.0.0-beta2","v2.0.0-beta20","v2.0.0-beta21","v2.0.0-beta3","v2.0.0-beta4","v2.0.0-beta5","v2.0.0-beta6","v2.0.0-beta7","v2.0.0-beta8","v2.0.0-beta9","v2.0.1","v2.0.2","v2.0.3","v2.1.1","v2.1.2","v2.1.3","v2.1.4","v2.1.5","v2.1.6","v2.2","v2.2.1","v2.2.2","v2.2.3","v2.2.4","v2.2.5","v2.2.6","v2.2.7","v2.3","v2.3.1","v2.3.2","v2.3.3","v2.4.0","v2.4.1","v2.4.2","v2.4.3","v2.5.0","v2.5.1","v2.6.0","v2.6.1","v2.6.2","v2.6.3","v2.6.4","v2.7.0","v2.7.1","v2.7.2","v2.7.3"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-c3qp-2ggw-xjg7/GHSA-c3qp-2ggw-xjg7.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"}]}