Podatność w Mattermost Server pozwala uwierzytelnionym użytkownikom na zapisanie plików w dowolnych lokalizacjach systemu plików poprzez przesłanie archiwum zawierającego sekwencje path traversal w nazwach plików. W konsekwencji możliwe jest zdalne wykonanie kodu (RCE) na serwerze.
▸ Pokaż oryginał (EN)
Mattermost versions 10.5.x <= 10.5.5, 9.11.x <= 9.11.15, 10.8.x <= 10.8.0, 10.7.x <= 10.7.2, 10.6.x <= 10.6.5 fail to sanitize filenames in the archive extractor which allows authenticated users to write files to arbitrary locations on the filesystem via uploading archives with path traversal sequences in filenames, potentially leading to remote code execution. The vulnerability impacts instances where file uploads and document search by content is enabled (FileSettings.EnableFileAttachments = true and FileSettings.ExtractContent = true). These configuration settings are enabled by default.
Mattermost Server nie oczyszcza (nie sanityzuje) nazw plików podczas wypakowywania przesłanych archiwów. Atakujący, posiadający konto w systemie, może przesłać specjalnie spreparowane archiwum, w którym nazwy plików zawierają sekwencje path traversal (np. '../../'). Podczas rozpakowywania serwer zapisuje pliki poza zamierzonym katalogiem docelowym — w dowolnym miejscu systemu plików dostępnym dla procesu serwera. Podatność jest aktywna wyłącznie wtedy, gdy włączone są jednocześnie dwie opcje konfiguracyjne: FileSettings.EnableFileAttachments = true oraz FileSettings.ExtractContent = true, które są domyślnie aktywne.
Uwierzytelniony atakujący może nadpisać lub umieścić dowolne pliki na serwerze, co może prowadzić do zdalnego wykonania kodu (RCE), a tym samym do pełnego przejęcia kontroli nad instancją serwera, ujawnienia danych oraz naruszenia integralności i dostępności systemu.
Należy zaktualizować Mattermost Server do wersji wyższych niż wskazane powyżej (zgodnie z referencjami producenta: https://mattermost.com/security-updates). Jako doraźne obejście, do czasu zastosowania patcha, można wyłączyć ekstrakcję treści poprzez ustawienie FileSettings.ExtractContent = false, co dezaktywuje podatny mechanizm.
Mattermost Server w wersjach: 10.5.x <= 10.5.5, 9.11.x <= 9.11.15, 10.8.x <= 10.8.0, 10.7.x <= 10.7.2, 10.6.x <= 10.6.5 — przy domyślnej konfiguracji (FileSettings.EnableFileAttachments = true i FileSettings.ExtractContent = true)
Podatność dotyczy domyślnej konfiguracji Mattermost Server, co znacznie poszerza potencjalną powierzchnię ataku. Wektor ataku sieciowy przy niskich uprawnieniach (uwierzytelniony użytkownik) i zmienionym zakresie (Scope: Changed) uzasadnia ocenę CVSS 9.9 (CRITICAL).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HMattermost Server
APPMattermost10.8.09.11.0 – 9.11.16 (bez)10.5.0 – 10.5.6 (bez)10.6.0 – 10.6.6 (bez)10.7.0 – 10.7.3 (bez)
Powiązane podatności
Mattermost Server — przejęcie konta przez błąd weryfikacji tokenu OAuth (account takeover)
Mattermost Server: przejęcie konta przez błędną walidację OAuth state token
SQL Injection w Mattermost Server — podatność przy zmianie kolejności tablic
Mattermost Server: path traversal przy duplikowaniu bloków w Boards
Mattermost Server — path traversal przy imporcie tablic (Boards)