CVE-2026-53646
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości przejęcia konta użytkownika przez atakującego, który uzyskał dostęp do pierwszego linku resetującego hasło, nawet jeśli ofiara wielokrotnie żądała nowego resetu. Może to prowadzić do nieautoryzowanego dostępu do danych klienta i zarządzania jego kontem.
Rekomendacja
Należy niezwłocznie zaktualizować system FOSSBilling do wersji 0.8.0, która usuwa tę podatność. Jako tymczasowe obejście zaleca się skonfigurowanie ograniczenia szybkości żądań (rate limiting) na poziomie reverse proxy dla endpointu resetowania hasła oraz ręczne czyszczenie starych rekordów resetowania w bazie danych.
Inne podatności w FOSSBilling
Zobacz wszystkie- CVE-2026-111048Wysokie
FOSSBilling to platforma open source do rozliczeń i zarządzania klientami. Od wersji 0.1.0 do 0.8.9 endpoint admin/support/note_create przechowuje parametr note bez sanityzacji w tabeli support_ticket_note, a szablon src/modules/Support/templates/admin/mod_support_tickets.html.twig renderuje każdą notatkę przez innerHTML na liście zgłoszeń w panelu administracyjnym. Użytkownik personelu z uprawnieniem support.manage_tickets może zapisać HTML lub JavaScript, który wykonuje się, gdy inny członek personelu otworzy notatki zgłoszenia. Skrypt działa z sesją i uprawnieniami przeglądającego, może odczytać token CSRF i dostępne dane klienta lub faktury oraz wykonywać akcje administracyjne dostępne dla przeglądającego, w tym Super Administratora. Strona szczegółów zgłoszenia nie jest podatna, ponieważ jej renderowanie Twig używa autoescapingu. Problem naprawiono w wersji 0.8.9.
- CVE-2026-112374Średnie
FOSSBilling w wersjach przed 0.8.9 zawiera podatność Cross-Site Request Forgery w punkcie logowania personelu (POST /api/guest/staff/login). Funkcja checkGuestClientAuthentication() zezwala tylko na client_login i client_create, pozostawiając staff_login bez walidacji CSRF lub Origin, co pozwala zdalnym atakującym wymusić uwierzytelnienie.
- CVE-2026-111053Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
FOSSBilling is a free, open-source billing and client management system. In versions 0.5.6 through 0.7.2, when a `ClientPasswordReset` record already exists for a client (from a previous unexpired reset request), subsequent calls to the `reset_password` guest API endpoint reuse the existing token instead of generating a new one. The 15-minute validity window is anchored to the first request's `created_at` timestamp, not the time of the most recent email. An attacker who obtained the original reset link remains able to use it even after the victim requests a new reset, because the original token is never invalidated or rotated. Version 0.8.0 patches the issue. Some workarounds are available. Configure a reverse proxy (e.g., Nginx, Apache, Cloudflare) to apply per-IP rate limiting to the `/client/reset-password` endpoint to minimize the window of opportunity, and/or manually clear expired `client_password_reset` records from the database after a client reports a suspected compromise.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

