Podatność klasy path traversal w Mastodon pozwala uwierzytelnionemu atakującemu na tworzenie i nadpisywanie dowolnych plików dostępnych dla serwera. Może to prowadzić do zdalnego wykonania kodu (RCE) lub odmowy dostępu do usługi (DoS).
▸ Pokaż oryginał (EN)
Mastodon is a free, open-source social network server based on ActivityPub. Starting in version 3.5.0 and prior to versions 3.5.9, 4.0.5, and 4.1.3, attackers using carefully crafted media files can cause Mastodon's media processing code to create arbitrary files at any location. This allows attackers to create and overwrite any file Mastodon has access to, allowing Denial of Service and arbitrary Remote Code Execution. Versions 3.5.9, 4.0.5, and 4.1.3 contain a patch for this issue.
Atakujący przesyła specjalnie spreparowany plik multimedialny, który manipuluje ścieżką zapisu podczas przetwarzania mediów przez Mastodon. Podatny kod nie weryfikuje prawidłowo docelowej ścieżki pliku, co umożliwia wyjście poza dozwolony katalog (path traversal, CWE-22). W efekcie plik może zostać zapisany w dowolnej lokalizacji dostępnej dla procesu Mastodon, w tym w miejscach krytycznych dla działania aplikacji lub systemu operacyjnego.
Atakujący może nadpisać lub utworzyć dowolny plik dostępny dla procesu Mastodon, co może skutkować pełnym przejęciem kontroli nad serwerem (RCE) lub trwałym uniemożliwieniem działania usługi (DoS).
Należy zaktualizować Mastodon do wersji 3.5.9, 4.0.5 lub 4.1.3, które zawierają patch eliminujący podatność. Odpowiednie wydania dostępne są w oficjalnym repozytorium projektu na GitHub.
Mastodon w wersjach od 3.5.0 do 3.5.8 (włącznie), 4.0.0–4.0.4 (włącznie) oraz 4.1.0–4.1.2 (włącznie). Podatność nie występuje w wersjach wcześniejszych niż 3.5.0.
Podatność zgłoszona publicznie 6 lipca 2023 r. poprzez listę oss-security. Wymagane jest uwierzytelnienie (PR:L), jednak zakres oddziaływania wykracza poza kontekst aplikacji (S:C), co przekłada się na ocenę CVSS 9.9 (CRITICAL).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HJoinmastodon Mastodon
APPJoinmastodon3.5.0 – 3.5.9 (bez)4.0.0 – 4.0.5 (bez)4.1.0 – 4.1.3 (bez)
Powiązane podatności
Mastodon: Podszywanie się pod zdalne konta poprzez brak walidacji origin
XSS w Mastodon poprzez spreparowane dane oEmbed w kartach podglądu
Brak ograniczenia prób uwierzytelniania w Mastodon (przed 4.0.0)
Mastodon: nieprawidłowa kontrola dostępu przez brak kompaktowania JSON-LD
Mastodon: błędna obsługa timeout sesji — niewystarczające wygasanie sesji