CVE-2026-55382
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Uwierzytelniony użytkownik może uzyskać dostęp do poufnych szablonów notatek innych firm, modyfikować je lub usuwać, co prowadzi do naruszenia izolacji dzierżawców i utraty danych.
Rekomendacja
Zaktualizuj InvoiceShelf do wersji 2.4.0 lub nowszej. Upewnij się, że polityki autoryzacji sprawdzają company_id dla notatek.
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-55383Wysokie
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.
- 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 NotesController::show, NotesController::update, and NotesController::destroy authorize only the generic view notes or manage notes ability and do not pass the route-bound Note to NotePolicy::viewNotes or NotePolicy::manageNotes, so neither method checks the target note's company_id. Because the Note model has no global company scope, an authenticated staff user with ordinary note abilities can select another company's sequential note identifier and read, modify, or delete its reusable invoice, estimate, and payment note templates. This issue is fixed in version 2.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

