CVE-2026-86747
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
W Snipe-IT do wersji 8.6.3 włącznie, punkty końcowe raportów akceptacji nie są poprawnie ograniczone, gdy włączona jest pełna obsługa wielu firm (FMCS). Uwierzytelniony użytkownik z uprawnieniem reports.view może wysyłać e-maile z przypomnieniami i trwale usuwać rekordy akceptacji z innych firm, wykorzystując brak odpowiedniego sprawdzania zakresu.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowany dostęp do danych akceptacji między firmami oraz trwałe usunięcie rekordów, co narusza integralność danych i poufność informacji.
Rekomendacja
Zaleca się aktualizację do wersji 8.7.0, która zawiera poprawkę, oraz przegląd uprawnień użytkowników z dostępem do raportów.
Inne podatności w Snipe-IT
Zobacz wszystkie- CVE-2026-116201Wysokie
Snipe-IT przed wersją 8.5.0 zawiera podatność powtórzenia asercji SAML, która pozwala atakującym na ponowne użycie przechwyconych asercji poprzez wykorzystanie nieatomowego sprawdzania nonce w obsłudze SAML acs. Atakujący mogą wysłać równoległe żądania POST do /saml/acs z jedną przechwyconą asercją, aby uzyskać wiele uwierzytelnionych sesji ofiary.
- CVE-2026-116200Średnie
Snipe-IT przed wersją 8.6.3 ignoruje wartość zwracaną przez ldap_start_tls() w Ldap::connectToLdap(), co pozwala atakującym w ścieżce sieciowej wymusić jawne powiązania LDAP. Atakujący mogą odpowiedzieć na żądanie StartTLS błędem protokołu, aby przechwycić poświadczenia konta usługi i hasła logowania użytkowników końcowych.
- CVE-2026-116199Wysokie
Snipe-IT przed wersją 8.6.3 zawiera obejście uwierzytelniania w GoogleAuthController::handleGoogleCallback, które loguje użytkownika o nazwie zgodnej z adresem e-mail konta Google bez wymuszania flagi aktywacji. Dezaktywowani użytkownicy z nazwami w formie e-mail i aktywnymi tożsamościami Google mogą zalogować się przez Google SSO i odzyskać sesje na pierwotnym poziomie uprawnień, w tym administratora.
- CVE-2026-116198Średnie
Snipe-IT przed wersją 8.7.0 zawiera podatność polegającą na braku szyfrowania w Api\AssetsController::store, która zapisuje dane w postaci jawnej do kolumn niestandardowych pól oznaczonych jako szyfrowane, gdy wywołujący nie mają uprawnienia assets.view.encrypted_custom_fields. Uwierzytelnieni użytkownicy API bez tego uprawnienia mogą tworzyć zasoby, których wrażliwe wartości niestandardowych pól są przechowywane w bazie danych bez szyfrowania, co naraża je poprzez kopie zapasowe, repliki lub bezpośredni dostęp do bazy danych.
- CVE-2026-114064Średnie
Snipe-IT w wersjach przed 8.7.0 zawiera podatność typu server-side request forgery w funkcji testowania webhooków, która pozwala użytkownikom z uprawnieniami super-administratora na sondowanie wewnętrznych adresów sieciowych, w tym zakresów loopback i RFC1918. Atakujący mogą kierować webhooki na wewnętrzne hosty i porty, a następnie porównywać odpowiedzi 4xx i 5xx z Test Webhooks, aby mapować otwarte porty i aktywne hosty.
- CVE-2026-63498Wysokie
Snipe-IT przed wersją 8.7.0 pozwala uwierzytelnionemu użytkownikowi z uprawnieniami do zarządzania plikami na przesyłanie załączników XML i XSLT oraz żądanie ich z parametrem inline=true. Przeglądarka może przetworzyć odniesienie xml-stylesheet i wykonać JavaScript wygenerowany przez arkusz stylów w kontekście Snipe-IT. Ofiara musi otworzyć URL załącznika, po czym skrypt może czytać dane samego pochodzenia i wykonywać uwierzytelnione działania z uprawnieniami ofiary.
- CVE-2026-63493Wysokie
Snipe-IT przed wersją 8.7.0 pozwala sesji uwierzytelnionej hasłem dla konta z uprawnieniem self.api na dostęp do API tokenów osobistych przed ukończeniem wyzwania drugiego czynnika, ponieważ CheckForTwoFactor jest egzekwowane w grupie middleware web, ale nie w grupie API. Token może czytać i modyfikować zasoby z uprawnieniami ofiary, a dla administratora może dotrzeć do punktu końcowego users/two_factor_reset, co umożliwia przejęcie konta administratora.
- CVE-2026-62368Wysokie
Snipe-IT przed wersją 8.7.0 pozwala użytkownikowi z uprawnieniem customfields.create na przechowywanie znaczników w CustomField.name, które są przypisywane jako nieucieczkowy tytuł nagłówka bootstrap-table. Gdy inny użytkownik otworzy stronę listy zasobów, przechowywane znaczniki wykonują się na stronie w sesji ofiary, co może ujawnić dane samego pochodzenia i wykonać uwierzytelnione działania, w tym eskalację uprawnień.
- CVE-2026-88894Średnie
Ścieżka realizacji predefiniowanych zestawów (kit checkout) w Snipe-IT nie egzekwuje izolacji dzierżawców Full Multiple Company Support (FMCS) na celu realizacji. W przeciwieństwie do innych ścieżek realizacji, App\Services\PredefinedKitCheckoutService nigdy nie wywołuje $item->canCheckoutTo($target); wykonuje jedynie sprawdzenie polityki aktor-vs-element oraz sprawdzenie dostępności przed zapisaniem realizacji. Przy włączonym FMCS użytkownik niebędący superużytkownikiem, należący do co najmniej dwóch firm i posiadający uprawnienie assets.checkout, może wysłać żądanie POST do /kits/{kit}/checkout z user_id należącym tylko do firmy B i przypisać temu użytkownikowi zasób firmy A (podobnie licencje, materiały eksploatacyjne i akcesoria zestawu), omijając sprawdzenie niezgodności firm. Problem naprawiono w Snipe-IT 8.7.2.
- CVE-2026-86774Średnie
Snipe-IT przed wersją 8.7.0 zawiera podatność polegającą na uszkodzonej kontroli dostępu w AssetModelPolicy, gdzie metoda files() kaskaduje z uprawnienia assets.files, umożliwiając uwierzytelnionym użytkownikom przesyłanie i usuwanie załączników w rekordach Asset Model bez wymaganego uprawnienia models.files. Atakujący posiadający tylko uprawnienie assets.files mogą modyfikować współdzielone załączniki modeli ponad granicami firm i ominąć dedykowane uprawnienie models.files, które ma ograniczać zarządzanie plikami we wspólnym katalogu Asset Model.
Oryginalny opis (angielski, źródło NVD)
Snipe-IT is an open source IT asset management system. In versions up to and including 8.6.3, the report acceptance endpoints POST /reports/unaccepted_assets/sent_reminder (ReportsController::sentAssetAcceptanceReminder) and DELETE /reports/unaccepted_assets/{acceptanceId}/delete (ReportsController::deleteAssetAcceptance) are not correctly scoped when Full Multiple Company Support (FMCS) is enabled. In 8.6.3 the guard ReportsController::currentUserCanAccessAcceptance() early-exits with 'return true' when '! $user->company_id' is truthy, which is the case for every pivot-only user (a user associated with companies through the company_user pivot table whose scalar users.company_id column is NULL); versions prior to 8.6.3 lacked the guard altogether. As a result, an authenticated user holding the reports.view permission can send acceptance-reminder emails for, and permanently delete, any pending acceptance record in the install regardless of which company owns the underlying checkoutable. Deletion is destructive and forfeits the acceptance audit trail for the affected item, and the reminder email exposes limited cross-company acceptance context (item name and assignment metadata) to the recipient. Acceptance IDs are sequential integers and can be enumerated. This issue is fixed in version 8.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

