Podatność typu BOLA (Broken Object Level Authorization) w aplikacji Easy!Appointments umożliwia nisko uprzywilejowanemu użytkownikowi odczyt, modyfikację lub usunięcie konta uprzywilejowanego dostawcy (provider). Zagrożenie jest krytyczne, ponieważ narusza kontrolę dostępu między poziomami uprawnień i nie wymaga żadnych zaawansowanych warunków do wykorzystania.
▸ Pokaż oryginał (EN)
A BOLA vulnerability in GET, PUT, DELETE /providers/{providerId} allows a low privileged user to fetch, modify or delete a privileged user (provider). This results in unauthorized access and unauthorized data manipulation.
Atakujący zalogowany jako użytkownik o niskich uprawnieniach może wysyłać żądania HTTP GET, PUT lub DELETE do endpointów API /providers/{providerId}, podając identyfikator dowolnego dostawcy. Aplikacja nie weryfikuje poprawnie, czy żądający użytkownik ma prawo do wykonania operacji na wskazanym zasobie. W efekcie możliwe jest pobranie danych konta, ich modyfikacja lub całkowite usunięcie konta uprzywilejowanego dostawcy bez stosownych uprawnień.
Atakujący może uzyskać nieautoryzowany dostęp do danych innych użytkowników oraz manipulować lub usuwać konta dostawców, co prowadzi do naruszenia poufności, integralności i dostępności danych w systemie.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (repozytorium GitHub: https://github.com/alextselegidis/easyappointments). Dodatkowo zaleca się wdrożenie walidacji autoryzacji na poziomie obiektów dla wszystkich endpointów API operujących na zasobach użytkowników.
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 Easy!Appointments — nieuprawniony dostęp do danych sekretarek
BOLA w EasyAppointments — nieuprawniony dostęp do wizyt innych użytkowników
BOLA w Easy!Appointments — privilege escalation do administratora
BOLA w EasyAppointments — nieautoryzowany dostęp do webhooków innych użytkowników