Katalog CVE

CVE-2026-86750

WysokieCVSS 7.7
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 do 8.6.3 (poprawione w 8.7.0) nie weryfikuje autoryzacji przypisania firmy przed zapisaniem rekordów użytkowników przez REST API. W Api\UsersController::store() i ::update() rekord użytkownika jest wypełniany z żądania i zapisywany przed filtrowaniem żądanych wartości company_id / company_ids[] względem firm dozwolonych dla aktora (Company::getIdsForCurrentUser()). W instalacjach z pełnym wsparciem wielu firm (FMCS), nie-superużytkownik z uprawnieniami users.create (lub users.edit na docelowym użytkowniku) może przesłać identyfikatory firm spoza swojego zakresu — w tym mieszankę dozwolonych i obcych identyfikatorów — co powoduje zapisanie wiersza konta w bazie danych przed sprawdzeniem autoryzacji. Gdy ustawione jest null_company_is_floater=1, filtr po fakcie pozostawia pusty pivot firmy, a konto jest zapisywane jako "floater" z widocznością między firmami, co pozwala na tworzenie lub przenoszenie kont użytkowników między granicami dzierżawców.

Ocena ryzyka

Ryzyko obejmuje nieautoryzowane tworzenie lub przenoszenie kont użytkowników między firmami, co może prowadzić do naruszenia izolacji danych i nieautoryzowanego dostępu do zasobów.

Rekomendacja

Zaleca się aktualizację Snipe-IT do wersji 8.7.0 lub nowszej oraz wdrożenie walidacji autoryzacji przed zapisem danych użytkownika.

Inne podatności w Snipe-IT

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

Snipe-IT versions <= 8.6.3 (fixed in 8.7.0) do not validate company assignment authorization before persisting user records via the REST API. In Api\UsersController::store() and ::update(), the user record is filled from the request and saved before the requested company_id / company_ids[] values are filtered against the actor's permitted companies (Company::getIdsForCurrentUser()). On installs using Full Multiple Companies Support (FMCS), a non-superuser holding users.create (or users.edit on a target user) can submit company identifiers for companies outside their scope — including a mix of permitted and foreign ids — causing the account row to be committed to the database before authorization is checked. Where null_company_is_floater=1 is set, the post-hoc filter leaves an empty company pivot and the account is persisted as a "floater" with cross-company visibility, allowing creation or relocation of user accounts across tenant boundaries.

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