CVE-2026-40878
NiskieCVSS 2.1Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 57 - wyżej niż 57% wszystkich znanych CVE
Streszczenie
W mailcow w wersjach przed 2026-03b interfejs webowy przekazuje surowy parametr $_SERVER['REQUEST_URI'] do Twig jako zmienną globalną i renderuje go w literale ciągu JavaScript w helperze setLang() w base.twig, polegając na domyślnym escapowaniu HTML zamiast escapowania w kontekście JS. Dodatkowo helper query_string() scala parametry $_GET w linki przełączania języka na stronie logowania, przez co parametry dostarczone przez atakującego są odzwierciedlane i zachowywane podczas nawigacji. Wersja 2026-03b naprawia podatność.
Ocena ryzyka
Atakujący może wstrzyknąć złośliwy kod JavaScript wykonywany w przeglądarce użytkownika (XSS), co może prowadzić do kradzieży sesji lub danych logowania. Ryzyko dotyczy instancji mailcow w wersjach przed 2026-03b.
Rekomendacja
Zaktualizuj mailcow do wersji 2026-03b lub nowszej. Do czasu aktualizacji rozważ ograniczenie dostępu do interfejsu webowego.
Inne podatności w mailcow
Zobacz wszystkie- CVE-2017-8928Wysokie
Mailcow w wersji 0.14, używany w 'mailcow: dockerized' oraz innych produktach, zawiera podatność na ataki CSRF.
- CVE-2026-40874Średnie
W mailcow w wersjach przed 2026-03b brak weryfikacji uprawnień administratora przy usuwaniu Forwarding Hosts przez /api/v1/delete/fwdhost. Każdy uwierzytelniony użytkownik może wywołać ten API, co może poważnie zakłócić działanie usługi pocztowej.
- CVE-2023-34108Wysokie
W mailcow, zestawie serwera pocztowego, odkryto podatność, która pozwala atakującemu manipulować wewnętrznymi zmiennymi Dovecot poprzez specjalnie skonstruowane hasła podczas procesu uwierzytelniania. Problem wynika z działania skryptu `passwd-verify.lua`, który weryfikuje hasła użytkowników podczas prób logowania.
Oryginalny opis (angielski, źródło NVD)
mailcow: dockerized is an open source groupware/email suite based on docker. In versions prior to 2026-03b, the mailcow web interface passes the raw `$_SERVER['REQUEST_URI']` to Twig as a global template variable and renders it inside a JavaScript string literal in the `setLang()` helper of `base.twig`, relying on Twig's default HTML auto-escaping instead of the context-appropriate `js` escaping strategy. In addition, the `query_string()` Twig helper merges all current `$_GET` parameters into the language-switching links on the login page, so attacker-supplied parameters are reflected and preserved across navigation. Version 2026-03b fixes the vulnerability.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

