CVE-2026-111053
ŚrednieCVSS 6.9Streszczenie
FOSSBilling od wersji 0.1.0 do 0.8.7 zawiera lukę path traversal w nieuwierzytelnionym punkcie końcowym api/guest/system/template_exists, ponieważ funkcja templateExists używa Path::join na parametrze file kontrolowanym przez atakującego bez odrzucania sekwencji .. i weryfikacji, czy rozwiązana ścieżka pozostaje w katalogu motywu. Atakujący może ustalić, czy dowolne pliki lub katalogi istnieją na serwerze.
Ocena ryzyka
Atakujący może poznać strukturę systemu plików i istnienie plików, co może ułatwić dalsze ataki, choć treść plików nie jest ujawniana.
Rekomendacja
Zaktualizuj FOSSBilling do wersji 0.8.7, która naprawia tę lukę.
Inne podatności w FOSSBilling
Zobacz wszystkie- CVE-2026-111046Niskie
W FOSSBilling od wersji 0.8.4 do 0.8.6 funkcja hasManagePermission nieprawidłowo zezwala dla nieaktywnych modułów niepodstawowych, pomijając sprawdzenia dostępu. Użytkownik personelu z niskimi uprawnieniami może odczytać odszyfrowane sekrety rozszerzeń i nadpisać konfigurację nieaktywnego modułu.
- CVE-2026-42341Krytyczne
FOSSBilling w wersjach od 0.6.0 do 0.7.2 zawiera podatność umożliwiającą ominięcie płatności bez uwierzytelnienia. Atakujący może oznaczyć dowolną niezapłaconą fakturę jako opłaconą i zasilić konto klienta, wysyłając jeden spreparowany request HTTP do endpointu IPN.
- CVE-2026-33543Krytyczne
FOSSBilling w wersjach 0.7.2 i wcześniejszych posiada podatność w API gościa, która pozwala na tworzenie nowych kont administratorów mimo istnienia już jednego administratora. Błąd w sprawdzaniu istnienia administratora umożliwia atakującemu ominięcie zabezpieczeń.
- CVE-2026-28496Krytyczne
FOSSBilling przed wersją 0.8.0 ma podatność na wstrzykiwanie szablonów po stronie serwera (SSTI) w systemie renderowania szablonów. Administratorzy mogą wstrzykiwać dowolne wyrażenia Twig, co prowadzi do ujawnienia informacji i zdalnego wykonania kodu.
- CVE-2026-27604Krytyczne
FOSSBilling w wersjach od 0.5.4 do 0.8.0 ma lukę w autoryzacji w obsłudze ról API, co pozwala na nieautoryzowany dostęp do uprzywilejowanych punktów końcowych `/api/system/*`. Atakujący mogą wywoływać metody API administratora bez ważnych poświadczeń.
- CVE-2026-111056Średnie
FOSSBilling od wersji 0.1.0 do 0.8.7 zawiera lukę w nieuwierzytelnionym punkcie końcowym POST /api/guest/client/create, który ujawnia, czy podany adres e-mail należy do zarejestrowanego klienta, zwracając odrębny, nieocenzurowany błąd. Atakujący może porównać odpowiedzi, aby ustalić, czy e-mail należy do istniejącego klienta.
- CVE-2026-53648Średnie
W FOSSBilling przed wersją 0.8.1 pliki produktów do pobrania są przechowywane pod ścieżką deterministycznie zależną od nazwy pliku (hash MD5). Dwóch różnych produktów lub plików zamówień o tej samej oryginalnej nazwie nadpisuje się nawzajem, co prowadzi do dostarczenia klientom lub administratorom nieprawidłowego pliku.
- CVE-2026-53647Średnie
W FOSSBilling w wersjach od 0.5.3 do 0.7.2, endpoint API `serviceapikey/get_info` dla gości jest dostępny bez uwierzytelniania. Każdy posiadacz ważnego klucza API może odczytać wszystkie niestandardowe parametry konfiguracyjne (`custom_*`) przechowywane w rekordzie bazy danych klucza.
- CVE-2026-53646Wysokie
W systemie FOSSBilling w wersjach od 0.5.6 do 0.7.2 istnieje podatność polegająca na tym, że przy wielokrotnym żądaniu resetowania hasła przez tego samego klienta, nie jest generowany nowy token, a wykorzystywany jest istniejący, ważny przez 15 minut od pierwotnego żądania. Atakujący, który przechwycił pierwszy link resetujący, może go użyć nawet po tym, jak ofiara zażąda nowego resetu, ponieważ oryginalny token nie jest unieważniany.
- CVE-2026-53645Wysokie
FOSSBilling przed wersją 0.8.0 zawiera podatność, która pozwala pracownikowi z niskimi uprawnieniami na eskalację swoich uprawnień poprzez API administracyjne. Użytkownik z uprawnieniem `staff.create_and_edit_staff` może wywołać endpoint `/api/admin/staff/permissions_update` dla własnego konta i ustawić dowolne uprawnienia, omijając kontrolę dostępu opartą na rolach.
Oryginalny opis (angielski, źródło NVD)
FOSSBilling is an open source billing and client-management platform. From 0.1.0 until 0.8.7, the unauthenticated api/guest/system/template_exists endpoint permits path traversal because templateExists uses Path::join on the attacker-controlled file parameter without rejecting .. sequences or verifying that the resolved path remains inside the active theme directory. The trigger is an unauthenticated request to guest/system/template_exists containing traversal sequences in the file parameter. An attacker can submit traversal sequences in the file parameter and observe the returned boolean to determine whether arbitrary files or directories exist on the server. The oracle does not disclose file contents. This issue is fixed in version 0.8.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

