W aplikacji Shopper (Headless e-commerce Admin Panel) w wersjach przed 2.8.0 istnieją dwa powiązane defekty autoryzacji, które umożliwiają każdemu uwierzytelnionemu użytkownikowi przejęcie pełnej kontroli nad systemem RBAC. Połączone, pozwalają niskoprzywilejowanemu użytkownikowi uzyskać uprawnienia administratora i usunąć legalnych administratorów z panelu.
▸ Pokaż oryginał (EN)
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, 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. This vulnerability is fixed in 2.8.0.
Pierwszy defekt polega na braku kontroli autoryzacji przy ładowaniu strony Settings/Team/Index — każdy zalogowany użytkownik może korzystać z jej publicznych akcji w celu tworzenia nowych ról oraz usuwania innych użytkowników, w tym administratorów. Drugi defekt dotyczy Settings/Team/RolePermission, gdzie akcje zapisu były chronione jedynie uprawnieniem read-only 'view_users' zamiast odpowiedniego uprawnienia do zarządzania użytkownikami. Użytkownik posiadający 'view_users' mógł przyznać sobie lub innym dowolne uprawnienia, w tym 'manage_users' i 'edit_orders', eskalując tym samym do pełnych uprawnień administratora panelu.
Atakujący z niskimi uprawnieniami może uzyskać pełne uprawnienia administratora panelu, modyfikować role i przydzielone uprawnienia oraz trwale usunąć legalnych administratorów z systemu, uzyskując wyłączną kontrolę nad panelem e-commerce.
Należy zaktualizować Shopper do wersji 2.8.0 lub nowszej, w której opisane defekty autoryzacji zostały naprawione. Szczegóły dostępne w referencjach producenta: https://github.com/shopperlabs/shopper/security/advisories/GHSA-c3qp-2ggw-xjg7
Shopper (Headless e-commerce Admin Panel) w wersjach przed 2.8.0
Podatność wymaga posiadania aktywnego konta w panelu (PR:L), jednak nawet konto z uprawnieniami tylko do odczytu (view_users) wystarcza do pełnej eskalacji. Zakres oddziaływania obejmuje całe środowisko panelu (S:C w wektorze CVSS).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H