Podatność typu BOLA (Broken Object Level Authorization) w aplikacji Easy!Appointments umożliwia nisko uprzywilejowanemu użytkownikowi pobieranie, modyfikowanie i usuwanie kont administratorów. Ze względu na brak właściwej weryfikacji uprawnień na poziomie obiektów, zagrożenie jest krytyczne.
▸ Pokaż oryginał (EN)
A BOLA vulnerability in GET, PUT, DELETE /admins/{adminId} allows a low privileged user to fetch, modify or delete a high privileged user (admin). This results in unauthorized access and unauthorized data manipulation.
Podatność dotyczy endpointów API GET, PUT oraz DELETE pod ścieżką /admins/{adminId}. Uwierzytelniony użytkownik o niskich uprawnieniach może wysyłać żądania HTTP do tych endpointów, podając identyfikator konta administratora (adminId). Aplikacja nie weryfikuje poprawnie, czy żądający użytkownik ma prawo dostępu do wskazanego zasobu, co jest klasycznym przypadkiem CWE-639 (Authorization Bypass Through User-Controlled Key).
Atakujący z podstawowym dostępem do systemu może odczytywać dane kont administratorów, modyfikować ich ustawienia lub całkowicie usuwać konta, co prowadzi do nieautoryzowanego dostępu oraz manipulacji danymi wysokouprzywilejowanych użytkowników.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Tymczasowo zaleca się ograniczenie dostępu do API wyłącznie do zaufanych sieci oraz monitorowanie żądań kierowanych do endpointów /admins/{adminId}.
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