Katalog CVE

CVE-2026-86755

ŚrednieCVSS 5.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.19%

Percentyl 9 - wyżej niż 9% wszystkich znanych CVE

Streszczenie

Snipe-IT w wersjach 4.2.0 do 8.6.3 udostępnia automatycznie zarejestrowane trasy Laravel Passport dla osobistych tokenów dostępu (GET, POST, DELETE /oauth/personal-access-tokens*) tylko z oprogramowaniem pośredniczącym 'web' i 'auth:web', bez bramki uprawnień self.api, którą Snipe-IT egzekwuje na własnych punktach końcowych tokenów (/account/api i /api/v1/account/personal-access-tokens). Każdy użytkownik z ważną sesją webową i odpowiednim tokenem CSRF może wysłać POST do /oauth/personal-access-tokens i wygenerować długożyjący token bearer dla własnego konta, nawet gdy administrator odmówił uprawnienia self.api. Wydany token nadal podlega istniejącym politykom autoryzacji per punkt końcowy, więc nie jest to eskalacja uprawnień; to niweczy administracyjną kontrolę mającą na celu zablokowanie dostępu API/skryptowego na poziomie uprawnień samego użytkownika. Naprawione w 8.7.0 (commit 3f74b8c), które rejestruje nadrzędne trasy opakowane w oprogramowanie pośredniczące can:self.api.

Ocena ryzyka

Obejście administracyjnej kontroli dostępu API może pozwolić użytkownikom na tworzenie tokenów, które mogą być używane do automatyzacji działań, co może naruszać polityki bezpieczeństwa.

Rekomendacja

Zaktualizuj Snipe-IT do wersji 8.7.0 lub nowszej, która egzekwuje uprawnienie self.api na trasach osobistych tokenów dostępu.

Inne podatności w Snipe-IT

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Snipe-IT versions 4.2.0 through 8.6.3 expose Laravel Passport's auto-registered personal-access-token routes (GET, POST, DELETE /oauth/personal-access-tokens*) with only 'web' and 'auth:web' middleware, without the self.api permission gate that Snipe-IT enforces on its own token endpoints (/account/api and /api/v1/account/personal-access-tokens). Any user with a valid web session and the corresponding CSRF token can POST to /oauth/personal-access-tokens and mint a long-lived bearer token for their own account, even when an administrator has denied the self.api permission. The issued token is still subject to existing per-endpoint authorization policies, so this is not a privilege escalation; it defeats the administrative control intended to block API/scripted access at the user's own permission level. Fixed in 8.7.0 (commit 3f74b8c), which registers overriding routes wrapped in the can:self.api middleware.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS