CVE-2026-55383
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
W InvoiceShelf przed wersją 2.4.0 publiczne trasy faktur, wycen i płatności klienta używają numerycznego mailable_id z tokenu EmailLog bez weryfikacji mailable_type, a handlery JSON nie wymuszają EmailLog::isExpired. Token wydany dla jednego typu dokumentu może ujawnić dokument innej firmy, a wygasły token może pozostać ważny na trasach JSON.
Ocena ryzyka
Możliwe jest ujawnienie dokumentów innych firm oraz dalsze używanie wygasłych tokenów, co prowadzi do naruszenia poufności i nieautoryzowanego dostępu. Może również dojść do fałszywego oznaczenia dokumentu jako wyświetlony.
Rekomendacja
Zaktualizuj InvoiceShelf do wersji 2.4.0 lub nowszej. Upewnij się, że tokeny są weryfikowane pod kątem typu i ważności.
Inne podatności w InvoiceShelf
Zobacz wszystkie- CVE-2026-55387Wysokie
W InvoiceShelf w wersji 2.3.3 i wcześniejszych walidacja żądań masowego usuwania akceptuje identyfikatory rekordów bez konsekwentnego powiązania ich z company_id uwierzytelnionego użytkownika. Uwierzytelniony użytkownik może przesłać identyfikator innej firmy i usunąć rekordy międzyfirmowe.
- CVE-2026-55386Wysokie
W InvoiceShelf przed wersją 2.4.0 parametr orderByField przekazywany przez uwierzytelnionego użytkownika jest używany w wywołaniach orderBy w Invoice::scopeApplyFilters bez ograniczenia do identyfikatorów kolumn. Spreparowane wyrażenie SQL może trafić do klauzuli ORDER BY, umożliwiając ślepą ekstrakcję informacji z bazy danych.
- CVE-2026-55385Średnie
W InvoiceShelf przed wersją 2.4.0 plik PDFConfigurationRequest.php waliduje ustawienie gotenberg_host kontrolowane przez właściciela jedynie jako poprawny składniowo URL. GotenbergPDFDriver::loadView wysyła następnie żądanie HTTP multipart zawierające wyrenderowany HTML faktury, wyceny lub płatności jako document.html do tego hosta bez odrzucania adresów prywatnych, loopback, link-local lub zarezerwowanych.
- CVE-2026-55384Średnie
W InvoiceShelf przed wersją 2.4.0 ścieżki tworzenia faktur, wycen i faktur cyklicznych przyjmują dostarczone przez klienta wartości total, sub_total, tax, discount_val i due_amount bez weryfikacji, czy odpowiadają przesłanym pozycjom. Uwierzytelniony użytkownik może utrwalić zmanipulowane sumy finansowe przez InvoicesRequest::getInvoicePayload oraz odpowiednie handlery EstimatesRequest i RecurringInvoiceRequest.
- CVE-2026-55382Wysokie
W InvoiceShelf przed wersją 2.4.0 metody NotesController::show, update i destroy autoryzują tylko ogólną zdolność view notes lub manage notes i nie przekazują powiązanej z trasą notatki do NotePolicy, więc nie sprawdzają company_id docelowej notatki. Uwierzytelniony użytkownik personelu może odczytać, zmodyfikować lub usunąć szablony notatek innej firmy.
- CVE-2026-55381Wysokie
W InvoiceShelf przed wersją 2.4.0 endpoint POST /api/v1/estimates/{estimate}/convert-to-invoice autoryzuje tylko zdolność create-invoice i nie autoryzuje dostępu do powiązanej wyceny. Uwierzytelniony użytkownik może skopiować pozycje, ceny, sumy, podatki, notatki, walutę i dane klienta innej firmy do faktury w swojej firmie.
- CVE-2026-55610Wysokie
InvoiceShelf przed wersją 2.4.1 w instalacjach wielofirmowych pozwala właścicielowi jednej firmy na odczyt i nadpisanie kont użytkowników w innych firmach. Podatność wynika z braku weryfikacji przynależności docelowego użytkownika do firmy właściciela, co umożliwia przejęcie konta.
- CVE-2026-34367Wysokie
InvoiceShelf przed wersją 2.2.0 ma podatność SSRF w module generowania faktur PDF. HTML dostarczony przez użytkownika w polu Notes jest przekazywany bez sanityzacji do biblioteki Dompdf, która pobiera zdalne zasoby, co może być wykorzystane przez punkty końcowe podglądu PDF i wysyłki e-mail.
- CVE-2026-34366Wysokie
InvoiceShelf przed wersją 2.2.0 zawiera podatność SSRF w module generowania paragonów PDF. HTML dostarczony przez użytkownika w polu Notes jest przekazywany bez sanityzacji do biblioteki Dompdf, która pobiera zdalne zasoby, co umożliwia atak SSRF.
- CVE-2026-34365Wysokie
InvoiceShelf przed wersją 2.2.0 zawiera podatność SSRF w module generowania PDF dla kosztorysów. HTML w polu Notes jest przekazywany bez sanityzacji do Dompdf, który pobiera zdalne zasoby, co umożliwia atak SSRF.
Oryginalny opis (angielski, źródło NVD)
InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.0, InvoiceShelf public customer invoice, estimate, and payment routes use an EmailLog token's numeric mailable_id without verifying mailable_type, and the JSON handlers do not enforce EmailLog::isExpired. A token issued for one document type can therefore disclose a different company's document when numeric identifiers collide, and an expired token can remain usable on the JSON routes GET /customer/invoices/{email_log:token}, GET /customer/estimates/{email_log:token}, and GET /customer/payments/{email_log:token}. View handlers can also mark a mismatched invoice or estimate as viewed and send a notification. This issue is fixed in version 2.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

