CVE-2026-88894
Snipe-IT's predefined kit checkout path does not enforce Full Multiple Company Support (FMCS) tenant isolation on the checkout target. Unlike the single, bulk, API, accessory, license and consumable checkout paths, App\Services\PredefinedKitCheckoutService never calls $item->canCheckoutTo($target); it only performs the actor-vs-item policy check and an availability check before persisting the checkout. With FMCS enabled, a non-superuser who belongs to at least two companies and holds the assets.checkout permission can POST to /kits/{kit}/checkout with a user_id belonging only to company B and have a company-A asset (and likewise kit licenses, consumables and accessories) assigned to that user, bypassing the company-mismatch check that blocks the same operation on every other checkout path. The issue is fixed in Snipe-IT 8.7.2; it was runtime-verified on v8.6.3 and code-inspected on v8.7.1, and the affected service has lacked the check since 2019, so earlier FMCS deployments are likely also affected.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 5.4
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
- CWE
- CWE-863
- Published
- 2026-09-10
- Last modified
- 2026-09-10
Affected products
- grokability snipe-it
- grokability snipe-it
Weakness type
Related vulnerabilities
- CVE-2026-87107 — Consul vulnerable to an authorization bypass in the catalog deregistration path
- CVE-2026-87090 — Consul vulnerable to an authorization bypass in the catalog node-write path
- CVE-2026-88044 — rclone: RC per-server auth-proxy bypass
- CVE-2026-88939 — knowns through 0.33.0 Authorization Bypass via project.set Bootstrap Exemption
- CVE-2026-88008 — Traefik: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') and Incorrect Authorization
- CVE-2026-88007 — Traefik HTTP/3 Backend NTLM Connection Reuse
- CVE-2026-88006 — Open WebUI: Users denied by the OAuth role policy can still sign in via token exchange
- CVE-2026-88005 — Open WebUI: Users denied by the OAuth domain allowlist or role policy can still sign in via token exchange