The admin tables for PaymentMethods, Currencies and Carriers exposed inline toggles and per-record actions (enable, disable, edit, delete) that were rendered for any authenticated panel user without checking the corresponding per-action permission. A low-privilege user could:
The impact is a full denial of checkout and pricing integrity loss, reachable by any authenticated user.
Fixed in v2.8.0. Each toggle and per-record action now requires its matching permission (edit_payment_methods, edit_currencies, edit_carriers).
Upgrade via:
composer require shopper/admin:^2.8
None. Upgrade to v2.8.0.
{
"cwe_ids": [
"CWE-862"
],
"github_reviewed": true,
"github_reviewed_at": "2026-06-05T20:34:31Z",
"nvd_published_at": "2026-05-29T19:16:26Z",
"severity": "MODERATE"
}