CVE-2026-93399
KrytyczneCVSS 9.1Streszczenie
Wtyczka Bookly dla WordPressa (do wersji 28.2 włącznie) jest podatna na niezabezpieczone odwołanie do obiektu (IDOR) poprzez akcje AJAX 'bookly_get_form_id', 'bookly_render_complete', 'bookly_add_to_calendar' i 'bookly_rollback_order'. Handler 'bookly_get_form_id' zapisuje kontrolowane przez atakującego 'order_id' do nowej sesji rezerwacji, a 'bookly_render_complete' ufa mu i zwraca token zamówienia bez weryfikacji właściciela sesji. Umożliwia to nieuwierzytelnionym atakującym wyliczanie identyfikatorów zamówień, ujawnianie tokenów innych klientów, pobieranie informacji o kalendarzu/wizytach oraz trwałe usuwanie rezerwacji.
Ocena ryzyka
Atakujący może uzyskać dostęp do danych innych klientów (tokeny zamówień, informacje o wizytach) oraz trwale usuwać rezerwacje, co prowadzi do wycieku danych osobowych i zakłóceń w działaniu serwisu rezerwacyjnego.
Rekomendacja
Zaktualizować wtyczkę Bookly do wersji nowszej niż 28.2, a jeśli to niemożliwe, wyłączyć podatne akcje AJAX lub ograniczyć dostęp do nich. Dodatkowo wdrożyć weryfikację uprawnień po stronie serwera dla operacji na zamówieniach.
Inne podatności w Bookly
Zobacz wszystkie- CVE-2026-2520Średnie
Wtyczka Bookly dla WordPressa jest podatna na nieautoryzowaną modyfikację danych z powodu braku sprawdzenia uprawnień w funkcji 'updateAddon' we wszystkich wersjach do 27.2 włącznie. Umożliwia to uwierzytelnionym atakującym z dostępem na poziomie Subscriber i wyższym aktualizację dowolnej wtyczki z głównym plikiem 'main.php' do najnowszej wersji.
- CVE-2026-61944Wysokie
Wtyczka Bookly w wersji do 27.7 zawiera podatność na nieuwierzytelniony atak XSS (Cross Site Scripting). Niezalogowany atakujący może wstrzyknąć złośliwy skrypt, który wykona się w przeglądarce ofiary.
- CVE-2026-61949Krytyczne
Wtyczka Bookly w wersjach do 27.7 jest podatna na nieuwierzytelnione wstrzyknięcie SQL.
- CVE-2026-89063Wysokie
Wtyczka Online Scheduling and Appointment Booking System – Bookly dla WordPressa w wersjach do 28.1 włącznie jest podatna na Insecure Direct Object Reference poprzez parametr 'conversation_id' z powodu braku walidacji klucza kontrolowanego przez użytkownika. Umożliwia to nieuwierzytelnionym atakującym odczyt pełnego transkryptu rozmowy AI dowolnego klienta — ujawniając imiona, adresy e-mail, numery telefonów i szczegóły wizyt — oraz wstrzykiwanie dowolnych wiadomości do rozmowy ofiary. Ponieważ rozmowy AI są przechowywane bez identyfikatora właściciela, użytkownika lub sesji, a identyfikatory rozmów są kolejnymi liczbami całkowitymi, atakujący może wyliczyć wszystkie rozmowy klientów, zwiększając parametr conversation_id.
- CVE-2026-13424Wysokie
Wtyczka Bookly dla WordPressa do wersji 27.7 włącznie jest podatna na Stored Cross-Site Scripting przez akcję AJAX bookly_speed_up_update_addons. Nieuwierzytelnieni atakujący mogą wstrzykiwać dowolne skrypty, które wykonają się, gdy administrator odwiedzi stronę Diagnostyka → Logi.
- CVE-2026-12905Średnie
Wtyczka Bookly dla WordPressa do wersji 27.7 włącznie jest podatna na Insecure Direct Object Reference w metodzie appointment() API Mobile Staff Cabinet. Obsługa ładuje wizytę na podstawie parametru id bez weryfikacji, czy staff_id wizyty odpowiada uwierzytelnionemu pracownikowi. Uwierzytelnieni atakujący z dostępem do mobilnego panelu pracownika mogą odczytać szczegóły wizyt innych pracowników, w tym notatki i dane klientów, poprzez enumerację identyfikatorów.
- CVE-2026-42667Wysokie
W wersjach Bookly do 27.4 występuje podatność na nieautoryzowany dostęp do wrażliwych danych.
- CVE-2026-5513Wysokie
Wtyczka Bookly dla WordPress w wersji do 27.2 zawiera lukę Stored XSS w ciasteczku 'bookly-customer-full-name'. Niezautoryzowany atakujący może wstrzyknąć skrypty, które wykonają się, gdy administrator odwiedzi zainfekowaną stronę. Wymaga włączenia opcji 'Zapamiętaj dane osobowe w ciasteczkach' (domyślnie wyłączona).
Oryginalny opis (angielski, źródło NVD)
The Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 28.2 via the 'bookly_get_form_id', 'bookly_render_complete', 'bookly_add_to_calendar' and 'bookly_rollback_order' AJAX actions. This is due to the 'bookly_get_form_id' handler blindly storing the attacker-controlled 'order_id' from the submitted form_data into a new booking session, which the 'bookly_render_complete' handler then trusts to look up and return the corresponding Order's secret token without verifying that the current session created that order. This makes it possible for unauthenticated attackers to enumerate sequential order IDs, disclose other customers' order tokens, retrieve calendar/appointment information via 'bookly_add_to_calendar' and permanently delete arbitrary non-completed bookings via 'bookly_rollback_order', which cascade-deletes the customer_appointment and (when no other customers are attached) the underlying appointment.

