CVE-2026-60119
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
Podatność XSS w Hi.Events przed wersją 1.11.0 pozwala uwierzytelnionym atakującym z uprawnieniami do tworzenia lub edycji wydarzeń na wstrzyknięcie dowolnego kodu HTML i JavaScript poprzez osadzenie złośliwego tytułu wydarzenia zawierającego sekwencję </script>, która nie jest poprawnie escapowana przez JSON.stringify() w osadzonych skryptach inline. Atakujący może stworzyć tytuł wydarzenia, który wychodzi poza kontekst skryptu w bloku danych strukturalnych application/ld+json lub stanie odtworzonym po stronie serwera, powodując wykonanie ładunku w przeglądarce każdego użytkownika odwiedzającego publiczną stronę wydarzenia, w tym nieuwierzytelnionych gości i uwierzytelnionych administratorów.
Ocena ryzyka
Ryzyko obejmuje kradzież sesji, przejęcie konta administratora oraz wyciek wrażliwych danych organizacji, ponieważ atak może być wykonany przez każdego odwiedzającego publiczną stronę wydarzenia, bez konieczności interakcji z ofiarą.
Rekomendacja
Należy natychmiast zaktualizować Hi.Events do wersji 1.11.0 lub nowszej, która zawiera poprawkę usuwającą podatność XSS poprzez prawidłowe escapowanie danych w kontekście skryptów inline.
Inne podatności w Hi.Events
Zobacz wszystkie- CVE-2026-76838Wysokie
Hi.Events weryfikuje miejsce docelowe webhooka tylko podczas rejestracji, nigdy podczas użycia. Reguła NoInternalUrlRule rozwiązuje nazwę hosta za pomocą gethostbyname() i odrzuca prywatne i zastrzeżone zakresy, ale każda publiczna nazwa hosta przechodzi. Podczas wysyłki WebhookDispatchService wywołuje zapisany adres URL bez ponownego sprawdzania, a przekierowania są domyślnie włączone. Miejsce docelowe, które odpowiada przekierowaniem do adresu loopback, prywatnego lub metadanych chmury, powoduje, że serwer wysyła takie żądanie, a zmiana rekordu DNS po rejestracji daje ten sam efekt. Odpowiedź nie jest odrzucana: WebhookResponseHandlerService przechowuje treść w logu webhooka, a WebhookLogResource zwraca ją z punktu końcowego logów, więc żądający odczytuje odpowiedź wewnętrznego serwisu. Wersja 1.11.1-beta ponownie weryfikuje przy wysyłce, przypina zweryfikowany adres, sprawdza każdy przeskok przekierowania i dekoduje adresy przejściowe IPv6, które wcześniej omijały filtr.
- CVE-2026-60118Średnie
Podatność w systemie Hi.Events przed wersją 1.11.0 umożliwia nieuwierzytelnionym atakującym zakup ukrytych biletów poprzez odwołanie się do ich identyfikatorów w żądaniach tworzenia zamówień. Brak kontroli dostępu po stronie serwera pozwala na enumerację sekwencyjnych identyfikatorów ukrytych biletów i zakup biletów VIP, na zaproszenie lub z rabatem, które nie były przeznaczone do publicznej sprzedaży.
- CVE-2026-57960Średnie
Podatność w systemie Hi.Events do wersji 1.9.0 umożliwia nieautoryzowany dostęp do list uczestników poprzez publiczne endpointy list kontrolnych. Wykorzystując jedynie identyfikator short_id, atakujący może odczytać pełne dane uczestników, w tym adresy e-mail i informacje osobiste, a także tworzyć lub usuwać rekordy kontrolne bez uwierzytelnienia.
- CVE-2026-57959Średnie
Podatność w systemie Hi.Events do wersji 1.9.0 umożliwia wielokrotne użycie ograniczonych kodów promocyjnych. Walidacja kodu sprawdza licznik użyć przed jego asynchronicznym zwiększeniem przez zadanie UpdateEventStatisticsJob, co pozwala atakującym na sekwencyjne rezerwowanie wielu zamówień z tym samym kodem, każde z licznikiem użyć równym 0, a następnie realizację wszystkich po obniżonej cenie.
Oryginalny opis (angielski, źródło NVD)
Hi.Events before 1.11.0 contains a cross-site scripting vulnerability that allows authenticated attackers with event creation or edit permissions to inject arbitrary HTML and JavaScript by embedding a malicious event title containing the </script> sequence, which is not escaped by JSON.stringify() when embedded in inline script tags. Attackers can craft an event title that breaks out of the script context in the application/ld+json structured data block or server-side rehydrated state, causing the payload to execute in the browser of any user who views the public event page, including unauthenticated visitors and authenticated administrators.

