Podatność typu BOLA (Broken Object Level Authorization) w aplikacji Easy!Appointments umożliwia nisko uprzywilejowanemu użytkownikowi odczyt, modyfikację lub usunięcie ustawień dowolnego konta, w tym konta administratora. Stanowi to poważne zagrożenie dla integralności i poufności danych całej aplikacji.
▸ Pokaż oryginał (EN)
A BOLA vulnerability in GET, PUT, DELETE /settings/{settingName} allows a low privileged user to fetch, modify or delete the settings of any user (including admin). This results in unauthorized access and unauthorized data manipulation.
Podatność dotyczy endpointów API: GET, PUT oraz DELETE /settings/{settingName}, gdzie parametr {settingName} identyfikuje ustawienia konkretnego użytkownika. Aplikacja nie weryfikuje prawidłowo, czy zalogowany użytkownik ma prawo dostępu do zasobu wskazanego w żądaniu. Dzięki temu atakujący posiadający konto z niskimi uprawnieniami może dowolnie manipulować identyfikatorem zasobu i uzyskiwać dostęp do ustawień innych kont, w tym konta administratora.
Atakujący może odczytać, zmodyfikować lub usunąć ustawienia dowolnego użytkownika systemu, w tym administratora, co prowadzi do nieautoryzowanego dostępu do danych oraz nieautoryzowanej manipulacji konfiguracją aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się śledzenie repozytorium projektu pod adresem https://github.com/alextselegidis/easyappointments w celu uzyskania informacji o dostępnych aktualizacjach.
Aplikacja Easy!Appointments (alextselegidis/easyappointments) — wersje wskazane w referencjach producenta
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HEasyappointments
APPEasyappointments< 1.5.0
Powiązane podatności
EasyAppointments v.1.5.0 — privilege escalation przez index.php
BOLA w EasyAppointments — nieautoryzowany dostęp do webhooków innych użytkowników
BOLA w Easy!Appointments — nieautoryzowany dostęp do kont dostawców
BOLA w Easy!Appointments — privilege escalation do administratora
BOLA w EasyAppointments — nieuprawniony dostęp do wizyt innych użytkowników