CVE-2026-115932
KrytyczneCVSS 9.6Streszczenie
W Postiz ścieżka mediów, która nie jest adresem web, jest traktowana jako plik na dysku serwera bez sprawdzenia, czy znajduje się w katalogu uploadu. Zarejestrowany użytkownik może zapisać spreparowaną ścieżkę przy poście i doprowadzić do odczytu dowolnego pliku oraz wysłania go jako załącznika na kontrolowany przez siebie serwer Discord. Te same nieograniczone odczyty są dostępne przez dwie dodatkowe ścieżki, w tym sprawdzanie istnienia pliku i wyczerpanie pamięci backendu; samodzielna rejestracja jest domyślnie otwarta.
Ocena ryzyka
Atakujący bez istniejącego konta może wykraść dowolne pliki z serwera, w tym dane konfiguracyjne i sekrety, oraz doprowadzić do wyczerpania pamięci i odmowy usługi.
Rekomendacja
Zaktualizuj Postiz do wersji zawierającej poprawkę, ogranicz samodzielną rejestrację oraz zweryfikuj, czy ścieżki mediów są ograniczone do katalogu uploadu.
Inne podatności w Postiz
Zobacz wszystkie- CVE-2026-115931Krytyczne
Postiz pozwala zalogowanemu użytkownikowi na żądanie wykonania funkcji na podłączonym kanale, ale backend nie ograniczał, jakie funkcje mogą być wywołane. Użytkownik mógł wywołać wewnętrzne funkcje pomocnicze, w tym jedną czytającą pliki z dysku serwera (np. plik środowiskowy z sekretem do podpisywania sesji, adres bazy danych i poświadczenia usług) oraz inną powodującą zakończenie procesu backendu. Samorejestracja jest domyślnie otwarta, więc nie jest potrzebne istniejące konto ani działanie innego użytkownika.
- CVE-2026-94456Krytyczne
Postiz generuje wrażliwe poświadczenia bezpieczeństwa przy użyciu Math.random() zamiast kryptograficznie bezpiecznego źródła. Ten sam mechanizm jest używany dla tokenów dostępu OAuth, kodów autoryzacyjnych, sekretów klienta, kluczy API organizacji oraz weryfikatorów PKCE, przez co zależą one od deterministycznego stanu PRNG xorshift128+ w V8. Nieuwierzytelniony endpoint dynamicznej rejestracji klienta OAuth ujawnia świeżo wygenerowane poświadczenia, co pozwala atakującemu odtworzyć wewnętrzny stan generatora i wyliczyć przeszłe oraz przyszłe wartości.
- CVE-2026-19264Krytyczne
Postiz, narzędzie do planowania postów w mediach społecznościowych, ma podatność na przechodzenie poza katalog (path traversal) w trasie serwującej lokalnie przechowywane media. Trasa nie wymaga uwierzytelnienia i nie normalizuje ścieżki, co pozwala nieuwierzytelnionemu atakującemu na odczyt dowolnych plików, w tym zmiennych środowiskowych z sekretami JWT i hasłami do baz danych.
- CVE-2026-48781Krytyczne
Postiz to narzędzie do planowania postów w mediach społecznościowych. W wersjach przed 2.21.8, atakujący mógł wykorzystać lukę w integracji Skool, aby sfałszować sesję SUPERADMIN, co pozwalało na podszywanie się pod dowolne organizacje.
- CVE-2026-42298Krytyczne
Postiz, narzędzie do planowania postów w mediach społecznościowych, przed commitem da44801 zawiera podatność typu "Pwn Request" w workflow Docker Build and Publish PR. Każdy nieuwierzytelniony użytkownik może wykonać dowolny kod podczas procesu budowania Dockera i wycieknąć wysoko uprzywilejowany token GITHUB_TOKEN (uprawnienia write-all) poprzez otwarcie Pull Requesta z fork'a ze zmodyfikowanym plikiem Dockerfile.dev.
- CVE-2026-107761Średnie
Kilka endpointów Postiz zwraca pełny wiersz bazy danych rekordu, na którym operuje, zamiast tylko pól potrzebnych klientowi. Dwa z nich zawierają sekrety, których wywołujący nie powinien otrzymywać: publiczne API usuwania kanału zwraca token dostępu i token odświeżania platformy, a GET /user/organizations zwraca klucz API organizacji każdemu członkowi. Oba endpointy wymagają ważnej sesji, klucza API lub tokenu OAuth i są ograniczone do organizacji wywołującego.
- CVE-2026-48799Wysokie
Podatność w narzędziu Postiz do zarządzania mediami społecznościowymi umożliwia niskouprzywilejowanemu kontu przyznanie dowolnej organizacji dożywotniej subskrypcji PRO bez płatności. Problem wynika z braku weryfikacji autentyczności callbacku IPN od Nowpayments oraz odczytywania identyfikatora subskrypcji z niezaufanego żądania.
- CVE-2026-48783Średnie
Postiz to narzędzie do planowania postów w mediach społecznościowych oparte na AI. W wersjach przed 2.21.8 istniał nieautoryzowany punkt końcowy, który akceptował podpisany token i stosował skutki egzekucji subskrypcji bez weryfikacji celu tokena.
- CVE-2026-42556Wysokie
Postiz, narzędzie do planowania postów w mediach społecznościowych oparte na AI, w wersjach od 2.21.6 do 2.21.7 pozwala każdemu uwierzytelnionemu użytkownikowi, który może tworzyć posty, na przechowywanie dowolnego kodu HTML w treści posta poprzez manipulację własnym żądaniem zapisu. Publiczny link podglądu /p/<postId>?share=true wysłany innemu użytkownikowi renderuje ten HTML z dangerouslySetInnerHTML na głównej domenie aplikacji.
- CVE-2026-42346Średnie
Postiz to narzędzie do planowania postów w mediach społecznościowych oparte na AI. W wersjach od 2.16.6 do 2.21.6 zabezpieczenia SSRF mają podatność TOCTOU: funkcja isSafePublicHttpsUrl() rozwiązuje DNS w celu walidacji IP, ale późniejsze wywołania fetch() rozwiązują DNS niezależnie. Atakujący kontrolujący serwer DNS może wykorzystać tę lukę przez DNS rebinding, przekierowując żądania do wewnętrznych adresów sieciowych. Problem został naprawiony w wersji 2.21.7.
Oryginalny opis (angielski, źródło NVD)
When a post is published, Postiz treats a media path that is not a web address as a file on the server's disk, but it does not check that the file lies inside the upload directory. A registered user can store a crafted media path with a post, get it past the checks that normally restrict it, and have the publishing worker read an arbitrary file and send it as an attachment to a Discord server the user controls. The same unconfined reads can be reached through two further routes. One tells the caller whether a file exists and can exhaust the backend's memory, the other delivers the file the same way as the main route. Self-registration is open by default, so the attacker needs no existing account.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

