FreeScout w wersjach 1.8.208 i wcześniejszych jest podatny na Stored Cross-Site Scripting (XSS) poprzez szablony powiadomień e-mail. Nieuwierzytelniony atakujący może wysłać spreparowaną wiadomość e-mail, która po wyświetleniu przez agenta lub administratora umożliwia wykonanie kodu JavaScript i przejęcie sesji.
▸ Pokaż oryginał (EN)
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Versions 1.8.208 and below are vulnerable to Stored Cross-Site Scripting (XSS) through FreeScout's email notification templates. Incoming email bodies are stored in the database without sanitization and rendered unescaped in outgoing email notifications using Blade's raw output syntax {!! $thread->body !!}. An unauthenticated attacker can exploit this vulnerability by simply sending an email, and when opened by any subscribed agent or admin as part of their normal workflow, enabling universal HTML injection (phishing, tracking) and, in vulnerable email clients, JavaScript execution (session hijacking, credential theft, account takeover) affecting all recipients simultaneously. This issue has been fixed in version 1.8.209.
Treść przychodzących wiadomości e-mail jest zapisywana w bazie danych bez jakiejkolwiek sanityzacji. Następnie jest renderowana bez escapowania w wychodzących powiadomieniach e-mail z użyciem składni raw output frameworka Blade: {!! $thread->body !!}. Atakujący bez żadnego uwierzytelnienia wysyła e-mail zawierający złośliwy payload HTML lub JavaScript. Gdy subskrybowany agent lub administrator otworzy powiadomienie w ramach normalnej pracy, złośliwy kod zostaje wykonany w jego kliencie pocztowym — jeśli ten obsługuje JavaScript.
Atakujący może przeprowadzić atak phishingowy, śledzenie użytkowników (HTML injection), a w podatnych klientach pocztowych również wykonać JavaScript prowadzący do kradzieży sesji, kradzieży danych uwierzytelniających oraz pełnego przejęcia konta. Atak dotyka jednocześnie wszystkich subskrybowanych odbiorców powiadomienia.
Należy zaktualizować FreeScout do wersji 1.8.209, w której problem został naprawiony. Poprawka dostępna jest w repozytorium GitHub projektu (commit 3329379db38a86cf7069b0709061b95a7d38985b) oraz w oficjalnym wydaniu 1.8.209.
FreeScout w wersjach 1.8.208 i wcześniejszych
Podatność została zgłoszona i naprawiona w ramach GitHub Security Advisories (GHSA-56h2-5556-r6mg). Exploitacja nie wymaga żadnego uwierzytelnienia — wystarczy wysłanie e-maila na adres obsługiwany przez podatną instancję FreeScout.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:NFreescout
APPFreescout< 1.8.209
Powiązane podatności
FreeScout: bypass zabezpieczeń uploadu pliku prowadzący do RCE
FreeScout: przewidywalny token uwierzytelniający umożliwia przejęcie konta
FreeScout: OS Command Injection umożliwiający przejęcie serwera
FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, attachment download to...
FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, FreeScout's `Helper::s...