CVE-2026-82911
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
Cross-Site Request Forgery (CSRF) w OrderConfirmController w GET /order/confirm/{order_number} w Roskus Prospero Flow CRM przed wersją 5.15.11 pozwala nieuwierzytelnionemu atakującemu na potwierdzenie dowolnego zamówienia w imieniu uwierzytelnionego użytkownika poprzez skierowanie go na spreparowaną stronę. Middleware Laravel VerifyCsrfToken egzekwuje tokeny CSRF tylko dla żądań POST, PUT, PATCH i DELETE; deklaracja Route::get pozostawia tę akcję zmieniającą stan bez ochrony. Ciasteczka sesji skonfigurowane z SameSite=Lax są automatycznie dołączane w nawigacji najwyższego poziomu, więc pojedyncze kliknięcie w link wywołuje OrderConfirmController::confirm() i zmienia stan zamówienia z oczekującego na potwierdzone bez autoryzacji użytkownika. Ponieważ numery zamówień są sekwencyjnymi liczbami całkowitymi, atakujący może je enumerować i potwierdzić wszystkie istniejące zamówienia w jednym automatycznym przebiegu.
Ocena ryzyka
Atakujący może potwierdzać zamówienia bez zgody użytkowników, co może prowadzić do nieautoryzowanych transakcji i zakłócenia procesów biznesowych.
Rekomendacja
Zaktualizuj Roskus Prospero Flow CRM do wersji 5.15.11 lub nowszej oraz zmień metodę potwierdzania zamówień na POST z weryfikacją CSRF.
Inne podatności w Roskus Prospero Flow CRM
Zobacz wszystkie- CVE-2026-78365Krytyczne
Obejście autoryzacji przez klucz kontrolowany przez użytkownika w API dostawcy w Roskus Prospero Flow CRM w wersjach od 4.0.0 do 5.3.1 pozwala każdemu uwierzytelnionemu użytkownikowi na odczyt i modyfikację rekordu dostawcy innej firmy oraz na przypisanie go do własnej firmy, poprzez żądanie PUT do /api/supplier/{id} z ustawieniem company_id w treści.
- CVE-2026-19871Krytyczne
Użycie twardo zakodowanych poświadczeń w komponencie zasobów ludzkich w Roskus Prospero Flow CRM przed wersją 5.15.9. Nieuwierzytelniony zdalny atakujący może uwierzytelnić się jako dowolny pracownik onboardowany przez standardowy proces, znając tylko jego adres e-mail, ponieważ kontroler zapisu pracownika używa dosłownego hasła "changeme", a formularz onboardingu nie zawiera pola hasła.
- CVE-2026-81931Średnie
Podatność nieograniczonego przesyłania plików o niebezpiecznym typie w przesyłaniu zdjęć produktów w Roskus Prospero Flow CRM przed wersją 5.16.0 pozwala uwierzytelnionemu użytkownikowi z uprawnieniem tworzenia produktów (standardowa rola Sprzedawcy) na wykonanie dowolnego JavaScript w kontekście aplikacji. Reguła walidacji zdjęć klasyfikuje plik tylko na podstawie zawartości (magiczne bajty) i odrzuca tylko stałą listę rozszerzeń PHP, podczas gdy ProductSaveController::save() nazywa przechowywany plik używając rozszerzenia dostarczonego przez klienta i kopiuje go do publicznego katalogu web. Plik zaczynający się od nagłówka obrazu i mający rozszerzenie HTML przechodzi walidację, jest przechowywany w public/asset/upload/product/ i jest serwowany z typem treści text/html, zamieniając przesyłanie w wykonanie skryptu po stronie klienta (stored XSS).
- CVE-2026-78337Średnie
W systemie Roskus Prospero Flow CRM przed wersją 5.15.13 wykryto podatność nieograniczonego przesyłania plików o niebezpiecznym typie w funkcji przesyłania logo firmy. Uwierzytelniony użytkownik z uprawnieniami do tworzenia i aktualizacji firm może wykonać dowolny kod JavaScript w kontekście aplikacji poprzez przesłanie dokumentu SVG zawierającego osadzony skrypt.
- CVE-2026-19870Wysokie
W module płac w Roskus Prospero Flow CRM przed wersją 5.15.10 wykryto podatność polegającą na obejściu autoryzacji przez klucz kontrolowany przez użytkownika. Uwierzytelnieni użytkownicy z uprawnieniem do odczytu płac mogą przeglądać dane wynagrodzeń i kont bankowych pracowników innych firm w instancji, a użytkownicy z uprawnieniem do tworzenia płac mogą tworzyć rekordy płac przypisane do pracowników innej firmy. Dzieje się tak, ponieważ zapytanie listujące nie jest ograniczone do firmy wywołującego, a identyfikator pracownika jest weryfikowany pod kątem globalnego istnienia, a nie przynależności do firmy.
- CVE-2026-19734Wysokie
Brak autoryzacji i obejście autoryzacji przez klucz kontrolowany przez użytkownika w komponencie zarządzania produktami w Roskus Prospero Flow CRM przed wersją 5.4.7. Uwierzytelnieni użytkownicy dowolnej firmy mogą odczytać pełne wrażliwe dane (cenę, koszt, stan magazynowy, SKU i kod kreskowy) produktu innej firmy oraz przejąć ten produkt, przypisując mu własne company_id, poprzez numeryczny identyfikator produktu, ponieważ ProductUpdateController nie rozszerzał MainController i dlatego nie wymagał sprawdzenia uwierzytelnienia na punkcie końcowym odczytu, a ProductRepository::save() pobierał rekord przez Product::find($data['id']) bez ograniczania zapytania do firmy uwierzytelnionego użytkownika przed nadpisaniem jego company_id.
- CVE-2026-19539Wysokie
Roskus Prospero Flow CRM przed wersją 5.4.9 ma podatność polegającą na obejściu autoryzacji przez kontrolowany przez użytkownika klucz, co pozwala uwierzytelnionym użytkownikom dowolnej firmy na odczyt, przejęcie i usunięcie zgłoszeń innych firm.
- CVE-2026-19433Wysokie
Roskus Prospero Flow CRM przed wersją 5.4.8 ma podatność obejścia autoryzacji w module zarządzania kontaktami, umożliwiającą uwierzytelnionym użytkownikom nadpisywanie danych kontaktowych innych firm i pobieranie ich danych jako vCard.
- CVE-2026-59233Wysokie
Brak autoryzacji w komponencie zarządzania uprawnieniami w Roskus Prospero Flow CRM przed wersją 5.2.1 umożliwia każdemu uwierzytelnionemu użytkownikowi nadanie dowolnej roli, w tym własnej, pełnego zestawu uprawnień aplikacji poprzez spreparowane żądanie POST do endpointu zapisu uprawnień, który nie wykonuje żadnej kontroli autoryzacji przed synchronizacją przesłanych uprawnień do określonej roli.
- CVE-2026-59232Średnie
W Roskus Prospero Flow CRM przed wersją 5.3.7 wykryto podatność Cross-site Scripting w widoku indeksu leadów. Uwierzytelnieni użytkownicy z uprawnieniami do tworzenia lub aktualizacji leadów mogą wykonać dowolny JavaScript w kontekście aplikacji poprzez znaczniki HTML przechowywane w polu nazwy leadu, które widok renderuje za pomocą nieuciekającego dyrektywy Blade'a oraz wewnątrz literału ciągu JavaScript w atrybucie onclick.
Oryginalny opis (angielski, źródło NVD)
Cross-Site Request Forgery (CSRF) in the OrderConfirmController at GET /order/confirm/{order_number} in Roskus Prospero Flow CRM before 5.15.11 allows an unauthenticated attacker to confirm any order on behalf of an authenticated user by directing them to a crafted page. Laravel's VerifyCsrfToken middleware enforces CSRF tokens only on POST, PUT, PATCH, and DELETE requests; the Route::get declaration leaves this state-changing action unprotected. Session cookies configured with SameSite=Lax are automatically included in top-level cross-site navigation, so a single link click triggers OrderConfirmController::confirm() and transitions the target order from pending to confirmed without user authorization. Because order numbers are sequential integers, an attacker can enumerate and confirm all existing orders in a single automated sweep.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

