CVE-2026-53648
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja naraża się na ryzyko dostarczenia klientom nieautoryzowanych lub złośliwych plików zamiast zamówionych produktów, co może skutkować naruszeniem integralności danych, utratą zaufania oraz potencjalnymi konsekwencjami prawnymi.
Rekomendacja
Należy niezwłocznie zaktualizować FOSSBilling do wersji 0.8.1 lub nowszej. Do czasu aktualizacji ograniczyć uprawnienie 'servicedownloadable.manage' tylko do zaufanych administratorów oraz stosować unikalne nazwy plików przed przesłaniem.
Inne podatności w FOSSBilling
Zobacz wszystkie- 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-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.
- CVE-2026-53644Wysokie
FOSSBilling w wersjach 0.5.3 do 0.7.2 umożliwia uwierzytelnionym klientom odczyt i resetowanie kluczy API dla zamówień, które nie są już aktywne (np. zawieszone, anulowane). Brakuje walidacji stanu zamówienia w dwóch punktach końcowych API klienta, mimo że istnieje pomocnicza funkcja `isActive()` w module `Serviceapikey`, a interfejs użytkownika poprawnie blokuje dostęp dla nieaktywnych zamówień.
- CVE-2026-53643Wysokie
FOSSBilling w wersjach przed 0.8.0 umożliwia kontom personelu o niskich uprawnieniach wykonywanie nieautoryzowanych działań poprzez punkty końcowe API administratora. Problem wynika z połączenia flagi modułu `can_always_access` (przyznającej dostęp wszystkim pracownikom) oraz niewystarczających kontroli uprawnień lub niebezpiecznego przetwarzania parametrów na poszczególnych punktach końcowych.
- CVE-2026-53642Średnie
W FOSSBilling w wersjach od 0.5.6 do 0.7.2, gdy włączone jest ustawienie „Wymagaj potwierdzenia e-mail”, zalogowany klient z niepotwierdzonym adresem e-mail może uzyskać dostęp do wszystkich stron strefy klienta, takich jak saldo portfela czy historia transakcji. Ograniczenia po stronie API działają poprawnie, ale po stronie stron są zbyt liberalne, przepuszczając każde żądanie zaczynające się od „/client”.
Oryginalny opis (angielski, źródło NVD)
FOSSBilling is a free, open-source billing and client management system. Prior to version 0.8.1, downloadable product files are stored using a deterministic filename-derived path. When an administrator uploads a file for a downloadable product, FOSSBilling stores the file as `md5(<original filename>)` under the uploads directory. Because the stored path depends only on the client-supplied filename, two different downloadable products, or product/order files, uploaded with the same original filename will resolve to the same stored file path. A later upload can overwrite an earlier upload, causing customers or administrators downloading the earlier product to receive the later file instead. Version 0.8.1 patches the issue. Some workarounds are available. Restrict the `servicedownloadable.manage` permission to fully trusted administrators only. As an operational mitigation, ensure downloadable product files use unique filenames before upload. This reduces accidental collisions but does not fully address the underlying issue.

