CVE-2026-52837
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
Easy!Appointments do wersji 1.5.2 włącznie osadza pełny rekord klienta jako JavaScript inline na stronie zmiany terminu bez uwierzytelnienia i bez filtrowania pól. Każdy posiadacz 12-znakowego hasha spotkania może odczytać wszystkie kolumny rekordu klienta z tabeli ea_users.
Ocena ryzyka
Ryzyko wycieku wrażliwych danych klientów, w tym danych osobowych, poprzez dostęp do hasha spotkania.
Rekomendacja
Zaktualizuj Easy!Appointments do wersji 1.6.0 lub nowszej.
Inne podatności w Easy!Appointments
Zobacz wszystkie- CVE-2026-61946Średnie
Wtyczka Easy Appointments w wersji 3.12.27 i starszych zawiera podatność na nieuwierzytelnione Insecure Direct Object References (IDOR).
- CVE-2026-55651Wysokie
W Easy!Appointments w wersji 1.5.2 wykryto podatność nadmiernego ujawniania danych w punkcie końcowym wyszukiwania klientów. Umożliwia ona uwierzytelnionemu użytkownikowi uzyskanie skrótów (hashy) terminów należących do innych użytkowników.
- CVE-2026-52841Niskie
Podatność w Easy!Appointments przed wersją 1.6.0 pozwala zalogowanemu użytkownikowi backendu (admin, provider, secretary) na przejęcie synchronizacji Google innego dostawcy. Atakujący może podmienić token OAuth, co skutkuje przesyłaniem danych klientów (imię, nazwisko, email) do własnego kalendarza Google.
- CVE-2026-52838Niskie
Podatność XSS w Easy!Appointments pozwala administratorowi na przechowywanie złośliwego kodu HTML/JavaScript w polu komunikatu o wyłączonych rezerwacjach. Kod ten jest wyświetlany bez filtrowania na publicznej stronie rezerwacji, atakując każdego niezalogowanego odwiedzającego.
- CVE-2026-108758Wysokie
Easy!Appointments do wersji 1.6.0 zawiera podatność obejścia autoryzacji w Booking::register(), która pozwala nieuwierzytelnionym atakującym modyfikować dowolne wizyty, podając identyfikator wizyty bez jej hasha. Atakujący mogą wyliczać kolejne identyfikatory wizyt z samozadeklarowaną flagą manage_mode, aby przepisywać szczegóły wizyt, przypisywać je do kontrolowanych przez siebie klientów oraz uzyskiwać hashe zarządzania do zmiany terminu lub anulowania.
- CVE-2026-9232Średnie
Wtyczka Easy Appointments dla WordPressa jest podatna na ujawnienie wrażliwych informacji we wszystkich wersjach do 3.12.27 włącznie poprzez handle_customers_ajax. Umożliwia to uwierzytelnionym atakującym z dostępem na poziomie współautora i wyżej wyciągnięcie pełnego zestawu danych klientów z tabeli ea_customers, w tym danych osobowych takich jak imiona, adresy e-mail, numery telefonów, daty urodzenia i adresy fizyczne.
- CVE-2026-87966Średnie
Wtyczka Easy Appointments dla WordPressa przed wersją 4.0.2.2 nie przeprowadza kontroli własności ani autoryzacji na swoim nieuwierzytelnionym punkcie końcowym rezerwacji wizyt przed zaktualizowaniem istniejącej wizyty identyfikowanej przez identyfikator dostarczony w żądaniu, co pozwala nieuwierzytelnionym atakującym na nadpisywanie, a poprzez późniejsze czyszczenie, usuwanie dowolnych wizyt.
- CVE-2026-87965Średnie
Wtyczka Easy Appointments dla WordPressa przed wersją 4.0.2.2 nie używa nieodgadywalnego tokena do autoryzacji akcji anulowania i potwierdzania wizyt przez link mailowy, wyprowadzając token z zaszytego w kodzie źródłowym saltu i znacznika czasu utworzenia wizyty, więc nieuwierzytelnieni atakujący, którzy znają lub odgadną ten znacznik czasu, mogą anulować lub potwierdzać dowolne wizyty.
- CVE-2026-81798Wysokie
Podatność typu DOM-Based Cross Site Scripting (XSS) w wtyczce Easy Appointments w wersjach do 4.0.2.1. Umożliwia atakującemu manipulowanie DOM strony w przeglądarce ofiary, co prowadzi do wykonania złośliwego skryptu.
- CVE-2026-14225Niskie
Podatność w wtyczce Easy Appointments WordPress przed wersją 3.12.28. Nieprawidłowa walidacja danych wejściowych shortcode w akcji renderowania bloku pozwala użytkownikom z dostępem na poziomie współautora na wykonanie dowolnych zarejestrowanych shortcode'ów.
Oryginalny opis (angielski, źródło NVD)
Easy!Appointments is a self hosted appointment scheduler. In versions up to and including 1.5.2, the booking reschedule view at `/index.php/booking/reschedule/{appointment_hash}` (handled by `Booking::index()`) embeds the entire customer record as inline JavaScript (`const vars = {... "customer_data": {...}, ...}`) without authentication and without field whitelisting. Anyone in possession of the 12-character `appointment_hash` — which appears in plain text in reschedule emails, confirmation page URLs, and operator-side calendar links — can read every column of that customer's row in the `ea_users` table. Version 1.6.0 contains a patch.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

