Podatności FreeScout
31 znanych podatności CVE w FreeScout, przetłumaczonych i ocenionych.
- CVE-2026-41906Wysokie
FreeScout to darmowy system pomocy technicznej i wspólnej skrzynki odbiorczej zbudowany na frameworku Laravel. Przed wersją 1.8.214, modal zmiany klienta poprawnie ukrywał klientów spoza zakresu, jednak backendowa akcja conversation_change_customer akceptowała dowolny podany adres e-mail klienta.
- CVE-2026-41905Wysokie
FreeScout przed wersją 1.8.217 zawierał lukę w funkcji Helper::sanitizeRemoteUrl(), która nieprawidłowo walidowała adresy URL po przekierowaniach HTTP. Atakujący mógł wykorzystać tę lukę do przekierowania ruchu do wewnętrznych usług HTTP, które normalnie byłyby zablokowane.
- CVE-2026-41904Wysokie
FreeScout przed wersją 1.8.217 pozwala użytkownikom z uprawnieniami updateAutoReply na zapisanie ładunku XSS w wiadomości automatycznej odpowiedzi. Ładunek ten jest renderowany bez ucieczki w e-mailu automatycznej odpowiedzi wysyłanym do klientów.
- CVE-2026-53595Krytyczne
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`.
- CVE-2026-41902Krytyczne
FreeScout przed wersją 1.8.217 ma lukę w punkcie końcowym /user-setup/{hash}, który akceptuje 60-znakowy losowy invite_hash do ustawienia hasła nowego użytkownika. Brak weryfikacji wygaszenia hasha pozwala na nieautoryzowane przejęcie konta przez długi czas po wydaniu zaproszenia.
- CVE-2026-85742Wysokie
FreeScout przed wersją 1.8.230 pozwala uwierzytelnionemu atakującemu umieścić HTML w wartości adresu e-mail nieudanego logowania, który jest kopiowany przez monitorowaną aktywność użytkownika do kolejkowanego zadania SendAlert. Gdy dostarczenie alertu zawiedzie, zserializowany ładunek trafia do failed_jobs, a endpoint szczegółów zadania administratora renderuje go po filtrze blacklisty, który pozostawia wykonywalne atrybuty obsługi zdarzeń, umożliwiając wykonanie JavaScriptu w kontekście administratora.
- CVE-2026-85744Średnie
W FreeScout przed wersją 1.8.227 akcja conversation_merge zapisuje nieudaną kontrolę autoryzacji dla docelowej rozmowy w response['msg'], a następnie czyści tę wartość w pętli rozmowy źródłowej. Uwierzytelniony agent może scalić kontrolowaną przez siebie rozmowę z docelową rozmową w skrzynce, do której nie ma dostępu.
- CVE-2026-85743Wysokie
FreeScout przed wersją 1.8.230 ma niespójne egzekwowanie polityki ograniczania hostów w wielu ścieżkach wychodzących (Helper::downloadRemoteFile(), Helper::checkPort(), Helper::sanitizeRemoteUrl(), MailboxesController.php, ModulesController.php). Uwierzytelniony administrator lub użytkownik mogący zmieniać ustawienia połączeń skrzynek lub wyzwalać aktualizacje modułów może podać atakującemu kontrolowane URL-e lub hosty, docierając do pętli zwrotnej i usług wewnętrznych.
- CVE-2026-62856Wysokie
FreeScout przed wersją 1.8.226 nie escapuje wildcardów SQL LIKE w nazwach kanałów dostarczanych do endpointu polycast/receive, a autoryzacja kanałów dotyczy tylko nazw z określonymi prefiksami. Nieuwierzytelniony atakujący z sesją gościa i ważnym tokenem CSRF może podać nazwę kanału z wildcardem, aby pobrać zdarzenia powiadomień innych użytkowników, ujawniając treść wiadomości, identyfikatory, URL-e i HTML powiadomień.
- CVE-2026-62855Średnie
W FreeScout przed wersją 1.8.225 przeglądarka App Logs dostępna tylko dla administratora przyjmuje zaszyfrowane przez Laravel parametry folderu i pliku, których skonstruowana ścieżka jest sprawdzana tylko jako surowy ciąg znaków. Administrator znający APP_KEY może podać segmenty przejścia ścieżki, które system plików normalizuje poza storage/logs, umożliwiając odczyt lokalnych plików.
- CVE-2026-62854Wysokie
FreeScout przed wersją 1.8.225 pozwala użytkownikowi mogącemu edytować podpis skrzynki połączyć skryptowalny plik przesłany przez /uploads/upload z zagnieżdżonymi fragmentami tagów omijającymi Helper::stripDangerousTags(). Wynikowy skrypt jest serwowany z tego samego origin, więc polityka script-src 'self' go przepuszcza, gdy inny użytkownik otworzy edytor odpowiedzi lub stronę nowego zgłoszenia.
- CVE-2026-62852Średnie
W FreeScout przed wersją 1.8.226 RealtimeConvNewThread sprawdza tylko ogólny dostęp do skrzynki i nie stosuje ograniczenia na poziomie rozmowy dla użytkowników skonfigurowanych do widzenia tylko przypisanych rozmów. Ograniczony uwierzytelniony użytkownik może subskrybować przewidywalne kanały Polycast conv.<conversation_id> dla innych rozmów w tej samej skrzynce.
- CVE-2026-62851Średnie
W FreeScout przed wersją 1.8.226 skrót wyszukiwania po numerze w ConversationsController::search() rozwiązuje numer zgłoszenia kontrolowany przez użytkownika bez zastosowania filtra skrzynki pocztowej ani polityki widoku używanego w normalnej ścieżce wyszukiwania. Uwierzytelniony agent niebędący administratorem może potwierdzić istnienie konwersacji w niedostępnej dla niego skrzynce i poznać jej wewnętrzne identyfikatory konwersacji i folderu. Treść wiadomości, załączniki i dane klientów pozostają chronione.
- CVE-2026-62850Średnie
W FreeScout przed wersją 1.8.225 administracyjny punkt końcowy konserwacji tools.php jest osiągalny bez odpowiedniej granicy uwierzytelniania lub kontroli dostępu. Różnice w odpowiedziach dla wartości ścieżek kontrolowanych przez atakującego ujawniają istnienie dowolnych katalogów i plików na serwerze, a ten sam punkt końcowy waliduje kandydatów na klucz aplikacji i hasło bazy danych bez ograniczania liczby prób, co umożliwia nieograniczone zgadywanie sekretów aplikacji.
- CVE-2026-103985Wysokie
W FreeScout przed wersją 1.8.231 formularz profilu udostępnia uprawnienie only_assigned_tickets swojemu właścicielowi niebędącemu administratorem, a UsersController::profileSave() dodaje lub usuwa User::PERM_ONLY_ASSIGNED_TICKETS bez sprawdzenia, czy edytujący jest administratorem. Ograniczony agent może odznaczyć tę opcję lub przesłać zwykłe zapisanie profilu, które ją pomija, aby usunąć nałożone przez administratora ograniczenie.
- CVE-2026-103984Średnie
W FreeScout, samodzielnie hostowanym systemie help desk, w wersjach przed 1.8.231, gdy włączono limit_user_customer_visibility, akcja AJAX load_customer_info wykonuje globalne wyszukiwanie na podstawie kontrolowanego przez atakującego adresu e-mail klienta i sprawdza jedynie dostęp do osobno podanej skrzynki. Agent bez uprawnień administratora może wskazać dostępną skrzynkę i pobrać profil niepowiązanego klienta bez wywołania CustomerPolicy::view(), co może ujawnić dane osobowe i poufne notatki wewnętrzne.
- CVE-2026-107393Średnie
W FreeScout przed wersją 1.8.235, gdy włączone jest APP_CLOUDFLARE_IS_USED, FreeScout ufa niezweryfikowanemu nagłówkowi CF-Connecting-IP podczas nieudanych prób logowania i zapisuje sfałszowaną wartość w dzienniku aktywności. LogsMonitor wstawia tę wartość do e-maila alertu administratora bez escapowania HTML, co pozwala na wykonanie wstrzykniętego HTML po otwarciu wiadomości przez administratora.
- CVE-2026-53596Średnie
FreeScout, darmowe narzędzie helpdesk oparte na Laravelu, nie ogranicza szybkości żądań na punkcie końcowym przesyłania plików. Każdy użytkownik może zasypać serwer żądaniami przesyłania, prowadząc do przeciążenia bazy danych i potencjalnej odmowy usługi dla wszystkich użytkowników. Problem został naprawiony w wersji 1.8.224.
- CVE-2026-53594Średnie
FreeScout przed wersją 1.8.224 zawiera podatność w funkcji App Logs, która pozwala uwierzytelnionemu atakującemu na pobranie dowolnych plików lokalnych czytelnych dla procesu PHP poprzez manipulację parametrem dl.
- CVE-2026-53593Wysokie
FreeScout przed wersją 1.8.224 posiada niekompletną listę zablokowanych rozszerzeń plików, która nie obejmuje rozszerzenia .pht. Uwierzytelniony agent może przesłać webshella .pht, co pozwala na zdalne wykonanie kodu na serwerze WWW.
- CVE-2026-53592Średnie
Podatność Prototype Pollution w funkcji getQueryParam w pliku /public/js/main.js w FreeScout. Obejście w wersji 1.8.139 jest niekompletne, umożliwiając atak przez zagnieżdżone klucze URL. Poprawka w wersji 1.8.223.
- CVE-2026-53591Wysokie
Podatność w FreeScout przed wersją 1.8.223. Nieuwierzytelniony atakujący może wstrzyknąć wiadomość do dowolnej istniejącej rozmowy wsparcia, wysyłając e-mail z spreparowanym nagłówkiem In-Reply-To. Wiadomość jest wyświetlana jako odpowiedź klienta, a rozmowa jest automatycznie otwierana.
- CVE-2026-48812Wysokie
Podatność w FreeScout (wersje przed 1.8.221) w mechanizmie pobierania załączników. Nieuwierzytelniony atakujący może pobrać dowolny załącznik utworzony przez starszą wersję, ponieważ pomijane jest uwierzytelnianie tokenem dla załączników z typem tokena legacy.
- CVE-2026-45295Średnie
FreeScout, darmowe narzędzie help desk, przed wersją 1.8.219 posiada podatność w punkcie końcowym śledzenia otwarć GET /thread/read/{conversation_id}/{thread_id}. Nieuwierzytelnieni atakujący mogą wyliczać prawidłowe identyfikatory konwersacji i wątków oraz modyfikować znacznik czasu opened_at bez autoryzacji.
- CVE-2026-48811Średnie
W systemie FreeScout (wersje przed 1.8.221) użytkownik niebędący administratorem może trwale usunąć wewnętrzną notatkę (prywatny wątek) z dowolnej konwersacji, nawet po cofnięciu dostępu do skrzynki pocztowej. Polityka autoryzacji ThreadPolicy::delete nie sprawdza członkostwa w skrzynce, co pozwala byłemu członkowi zespołu na niszczący zapis notatek. Podatność naprawiona w wersji 1.8.221.
- CVE-2026-48810Średnie
W systemie FreeScout (wersje przed 1.8.221) w metodzie ThreadPolicy::edit brakuje sprawdzenia członkostwa w skrzynce pocztowej. Użytkownik z uprawnieniem PERM_EDIT_CONVERSATIONS, który utworzył wiadomość lub notatkę w skrzynce A, może zmienić treść tego wątku po usunięciu go przez administratora ze skrzynki A. Podatność naprawiona w wersji 1.8.221.
- CVE-2026-47123Wysokie
FreeScout przed wersją 1.8.220 zawiera podatność w potoku przetwarzania e-maili, gdzie identyfikatory wątku i użytkownika są wyodrębniane z nagłówka Message-ID bez weryfikacji HMAC. Atakujący może podszyć się pod adres agenta i wstrzyknąć wiadomości traktowane jako odpowiedzi agenta, które są automatycznie przekazywane klientom.
- CVE-2026-45294Średnie
FreeScout przed wersją 1.8.219 posiada podatność w endpointcie resetowania hasła, która zwraca wizualnie różne odpowiedzi w zależności od tego, czy podany adres email należy do istniejącego konta użytkownika. Pozwala to nieuwierzytelnionym atakującym na enumerację prawidłowych adresów email agentów helpdesku.
- CVE-2026-34443Średnie
FreeScout, system helpdesk oparty na Laravelu, zawiera błąd w funkcji checkIpByMask(), która sprawdza, czy adres IP zawiera znak '/'. Zwykłe adresy IP nigdy nie zawierają '/', więc funkcja zawsze zwraca false, nie sprawdzając zakresów CIDR. Prywatne zakresy 10.0.0.0/8 i 172.16.0.0/12 pozostają niechronione. Podatność dotyczy wersji przed 1.8.211.
- CVE-2026-34442Średnie
FreeScout przed wersją 1.8.211 zawiera podatność na manipulację nagłówkiem Host, która pozwala atakującemu wstrzyknąć dowolną domenę do generowanych absolutnych URL-i. Prowadzi to do ładowania zewnętrznych zasobów i otwartego przekierowania. Łatka dostępna w wersji 1.8.211.
- CVE-2025-58163Wysokie
FreeScout w wersjach 1.8.185 i starszych zawiera podatność deserializacji niezaufanych danych, która pozwala uwierzytelnionym atakującym znającym APP_KEY aplikacji na zdalne wykonanie kodu. Podatność jest wykorzystywana przez endpoint /help/{mailbox_id}/auth/{customer_id}/{hash}/{timestamp}, gdzie parametry customer_id i timestamp są przetwarzane przez funkcję decrypt w app/Helper.php bez odpowiedniej walidacji, co prowadzi do deserializacji złośliwych obiektów PHP.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

