CVE-2026-53595
KrytyczneCVSS 9.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
W FreeScout przed wersją 1.8.224 publiczny endpoint `POST /user-setup/{hash}/{invite_sent_at}` pozwala atakującemu na przejęcie konta użytkownika bez uwierzytelnienia. Podatność wynika z pomijania spacji w VARCHAR w MySQL/MariaDB oraz z nieprawidłowego deszyfrowania parametru `invite_sent_at`.
Ocena ryzyka
Anonimowy atakujący może zmienić adres e-mail i hasło najstarszego aktywnego konta (agenta lub administratora), a następnie zalogować się jako ta osoba, uzyskując pełny dostęp do systemu pomocy technicznej.
Rekomendacja
Niezwłocznie zaktualizuj FreeScout do wersji 1.8.224 lub nowszej. Jeśli aktualizacja nie jest możliwa, tymczasowo zablokuj dostęp do endpointu `/user-setup/{hash}/{invite_sent_at}` dla niezaufanych adresów IP.
Oryginalny opis (angielski, źródło NVD)
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.224, the public endpoint `POST /user-setup/{hash}/{invite_sent_at}` (`OpenController@userSetupSave`) selects the target account solely by its `invite_hash` column, then overwrites that account's email and password and logs in as it. No authentication, cookie, or prior session is required. After a user activates, FreeScout sets `invite_hash` to the empty string. On MySQL and MariaDB, `VARCHAR` equality ignores trailing spaces, so a single URL-encoded space (`%20`) matches the stored empty string and selects the lowest-id activated user. The expiry guard decrypts `invite_sent_at` with the target's password hash, but `Helper::decrypt` returns its raw input unchanged when decryption fails. A plaintext numeric value such as `9999999999` therefore passes the time-to-live check without any secret. The result is that an anonymous attacker sets the email and password of the lowest-id activated FreeScout account (a support agent, or an administrator if one was added by invitation) and authenticates as that account. Version 1.8.224 contains a fix.

