CVE-2026-86747: snipe-it before 8.7.0 Authorization Bypass via Pivot-Only User
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/unacceptedassets/sentreminder (ReportsController::sentAssetAcceptanceReminder) and DELETE /reports/unacceptedassets/{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->companyid' is truthy, which is the case for every pivot-only user (a user associated with companies through the companyuser pivot table whose scalar users.companyid 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
snipe-itto a version that resolves this vulnerability.Fixed in 8.7.0
Event History
Frequently Asked Questions
Which deployments are affected?
The issue applies when Full Multiple Company Support (FMCS) is enabled. It affects Snipe-IT versions up to and including 8.6.3; the issue is addressed in 8.7.0.
What access does an attacker need?
An attacker must be authenticated and have the reports.view permission. The vulnerable authorization path applies to pivot-only users, whose users.company_id value is NULL while their company memberships are held in the company_user pivot table.
What can a successful attacker do?
They can send acceptance-reminder emails for pending acceptance records belonging to any company and permanently delete those records. Deletion removes the acceptance audit trail for the affected item, while reminder emails expose limited cross-company acceptance context.