CVE-2026-63493
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko obejmuje przejęcie konta administratora i nieautoryzowany dostęp do zasobów, co może prowadzić do pełnej kompromitacji systemu.
Rekomendacja
Zaleca się aktualizację Snipe-IT do wersji 8.7.0, która naprawia tę podatność.
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-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.
- CVE-2026-86773Średnie
Snipe-IT do wersji 8.6.3 nie przeprowadza autoryzacji na poziomie obiektu w endpointach updateLicense, updateConsumable, updateAccessory i updateModel oraz w endpointcie storeModel dla Predefined Kits. Istniejąca kontrola autoryzuje tylko nadrzędny Predefined Kit (aktualizacja PredefinedKit), a nie dołączany obiekt podrzędny. W rezultacie uwierzytelniony użytkownik posiadający tylko uprawnienie kits.edit może dołączyć Licencję, Materiał eksploatacyjny, Akcesorium lub Model zasobu, których odczyt jest mu zabroniony (HTTP 403), do Predefined Kit, a indeks relacji zestawu ujawnia nazwę dołączonego obiektu temu użytkownikowi z niskimi uprawnieniami. Jest to odpowiednik ścieżki aktualizacji i storeModel dla CVE-2026-55478, który naprawił tylko metody storeLicense, storeConsumable i storeAccessory w wersji 8.6.2. Należy zauważyć, że updateModel był podatny w kodzie w wersji 8.6.3, ale nieosiągalny w praktyce z powodu literówki w nazwie trasy, która wiązała trasę z nieistniejącą metodą kontrolera, powodując odpowiedzi HTTP 500. Problem został naprawiony w Snipe-IT 8.7.0.
Oryginalny opis (angielski, źródło NVD)
Snipe-IT is an IT asset/license management system. Prior to 8.7.0, a password-authenticated session for an account with self.api permission can reach the personal-access-token API flow before completing the account's second-factor challenge because CheckForTwoFactor is enforced in the web middleware group but not the API middleware group. The advisory states that the resulting persistent API token can read and modify resources with the victim's permissions and, for an administrator, can reach the users/two_factor_reset endpoint. Resetting the administrator's enrolled second factor allows the password-holding attacker to enroll an attacker-controlled factor, take over the administrator's web account, and lock out the legitimate user. The token does not create a web session, but it provides broad API access while the same browser session remains blocked at the two-factor page. This vulnerability is fixed in 8.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

