/

CVE-2026-56828

Severity:

HIGH RISK

(8.8)

Broken Access Control (CWE-285) in Shopper Admin Panel

CVE-2026-56828

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-285, CWE-862

Impact:

Privilege Escalation and Role-Based Access Control Disruption

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Shopper's Headless e-commerce Admin Panel contains authorization gaps in several Livewire team-management components. A staff member with only user-viewing and dashboard access may alter permissions, create a pre-verified administrator, or delete roles when the affected settings actions are reachable.

Shopper's Headless e-commerce Admin Panel contains authorization gaps in several Livewire team-management components. A staff member with only user-viewing and dashboard access may alter permissions, create a pre-verified administrator, or delete roles when the affected settings actions are reachable.

Affected context

The issue affects Shopper deployments using the vulnerable team-management Livewire components in the affected release range. Risk is present when a staff account has view_users and access_dashboard, can reach team administration interfaces, and the server relies on client-selected permission or role identifiers without enforcing stronger action-specific authorization.

The issue affects Shopper deployments using the vulnerable team-management Livewire components in the affected release range. Risk is present when a staff account has view_users and access_dashboard, can reach team administration interfaces, and the server relies on client-selected permission or role identifiers without enforcing stronger action-specific authorization.

Exploit preconditions

  • Attack surface: Shopper's authenticated admin-panel team and role-management actions
  • Required access: A staff account with view_users and access_dashboard
  • Trigger points: Permission toggle or removal actions, team-member creation, and role deletion
  • Why exploitation is possible: Several actions authorize the weaker viewing permission, omit action authorization, or trust client-selected role identifiers instead of enforcing server-side privilege checks
  • Attack surface: Shopper's authenticated admin-panel team and role-management actions
  • Required access: A staff account with view_users and access_dashboard
  • Trigger points: Permission toggle or removal actions, team-member creation, and role deletion
  • Why exploitation is possible: Several actions authorize the weaker viewing permission, omit action authorization, or trust client-selected role identifiers instead of enforcing server-side privilege checks

Why this happens

The underlying flaw is inconsistent and incomplete authorization enforcement across related administrative actions. Permission changes and team-member creation check view_users instead of the stronger settings-management permission, while role deletion lacks an action-specific authorization check. Client-supplied identifiers are then used to select permissions or roles without sufficiently binding the operation to the caller's authorized scope. This maps primarily to CWE-285, Improper Authorization, and also to CWE-862, Missing Authorization.

The underlying flaw is inconsistent and incomplete authorization enforcement across related administrative actions. Permission changes and team-member creation check view_users instead of the stronger settings-management permission, while role deletion lacks an action-specific authorization check. Client-supplied identifiers are then used to select permissions or roles without sufficiently binding the operation to the caller's authorized scope. This maps primarily to CWE-285, Improper Authorization, and also to CWE-862, Missing Authorization.

Potential impact

  • An attacker may grant elevated permissions to a role they control.
  • An attacker may create a pre-verified administrator with attacker-selected credentials.
  • An attacker may remove permission definitions or delete removable roles.
  • Assigned users may lose access to administrative functions.
  • The application may experience privilege escalation or role-based access-control denial of service.
  • An attacker may grant elevated permissions to a role they control.
  • An attacker may create a pre-verified administrator with attacker-selected credentials.
  • An attacker may remove permission definitions or delete removable roles.
  • Assigned users may lose access to administrative functions.
  • The application may experience privilege escalation or role-based access-control denial of service.

General mitigation guidance

Mitigation generally focuses on centralized, server-side authorization for

every state-changing administrative action.

Defensive patterns include:

  • Require the strongest appropriate settings-management capability for permission, role, and team-member mutations.
  • Enforce authorization within action handlers rather than relying on page visibility or client-side controls.
  • Treat role and permission identifiers from the client as untrusted and verify that each target is within the caller's authorized scope.
  • Apply secure-by-default rules that prevent ordinary staff roles from creating administrators or assigning elevated permissions.
  • Use deny-by-default policy evaluation and least-privilege administrative roles.
  • Add authorization tests covering horizontal and vertical privilege boundaries, including role deletion and administrator creation.

Mitigation generally focuses on centralized, server-side authorization for

every state-changing administrative action.

Defensive patterns include:

  • Require the strongest appropriate settings-management capability for permission, role, and team-member mutations.
  • Enforce authorization within action handlers rather than relying on page visibility or client-side controls.
  • Treat role and permission identifiers from the client as untrusted and verify that each target is within the caller's authorized scope.
  • Apply secure-by-default rules that prevent ordinary staff roles from creating administrators or assigning elevated permissions.
  • Use deny-by-default policy evaluation and least-privilege administrative roles.
  • Add authorization tests covering horizontal and vertical privilege boundaries, including role deletion and administrator creation.

How teams detect issues like this

High-level detection can include:

  • Static analysis for Livewire actions that mutate authorization data without explicit policy or gate checks.
  • Code review searches for weaker view permissions used to protect settings mutations.
  • Review of handlers that trust role_id, permission IDs, or other client-controlled identifiers.
  • Tests that invoke component methods directly with low-privilege accounts and verify denial.
  • Audit logging and policy alerts for permission grants, administrator creation, and role deletion.
  • CI policy checks requiring authorization coverage for sensitive state-changing actions.

High-level detection can include:

  • Static analysis for Livewire actions that mutate authorization data without explicit policy or gate checks.
  • Code review searches for weaker view permissions used to protect settings mutations.
  • Review of handlers that trust role_id, permission IDs, or other client-controlled identifiers.
  • Tests that invoke component methods directly with low-privilege accounts and verify denial.
  • Audit logging and policy alerts for permission grants, administrator creation, and role deletion.
  • CI policy checks requiring authorization coverage for sensitive state-changing actions.

Sources

SourceLink
github.comgithub.com/shopperlabs/shopper/commit/ac9a76044a8e4a2b570b438d66cf3007f3dc479e
github.comgithub.com/shopperlabs/shopper/compare/v2.8.1...v2.9.2
github.comgithub.com/shopperlabs/shopper/pull/514
github.comgithub.com/shopperlabs/shopper/releases/tag/v2.8.1
github.comgithub.com/shopperlabs/shopper/security/advisories/GHSA-j328-xmgp-j4q3

Frequently asked

questions

An authenticated staff member may be able to exploit it if their account has

view_users and access_dashboard and can reach the affected team-management

actions.

No. The issue is specifically caused by granting sensitive actions to an

account with weaker staff-level permissions.

Enforce action-specific, server-side authorization for every permission,

role, and team-member mutation, and validate all client-selected targets

against that authorization.

Use centralized authorization policies, deny-by-default controls, least

privilege, and automated tests that verify both page access and individual

state-changing actions.

An authenticated staff member may be able to exploit it if their account has

view_users and access_dashboard and can reach the affected team-management

actions.

No. The issue is specifically caused by granting sensitive actions to an

account with weaker staff-level permissions.

Enforce action-specific, server-side authorization for every permission,

role, and team-member mutation, and validate all client-selected targets

against that authorization.

Use centralized authorization policies, deny-by-default controls, least

privilege, and automated tests that verify both page access and individual

state-changing actions.

Find out what's already
exploitable in your codebase.