CVE-2026-86744: snipe-it before 8.7.0 Race Condition in Asset Checkout

Published Sep 9, 2026
·
Updated

Snipe-IT 8.6.3 and earlier (and develop pre-release commits prior to the fix) contain a race condition in the asset checkout paths. Api\AssetsController::checkout() and Assets\AssetCheckoutController::store() call Asset::availableForCheckout() outside the mutation path and then invoke Asset::checkOut() without taking a row lock or re-checking availability, so two concurrent checkout requests for the same available asset can both observe it as available and both commit. This produces duplicate checkout-history rows, a doubled checkoutcounter, and two CheckoutableCheckedOut events for a single-assignment asset, corrupting the audit trail and utilization/reconciliation reporting; the asset's final assignedto remains singular, so the visible assignment stays intact. Exploitation requires an authenticated session holding the assets.checkout permission (or superuser) and precise concurrent timing. Fixed in 8.7.0.

Affected Software

1 affected component
Snipe-IT Snipe-IT<8.7.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Snipe-IT to a version that resolves this vulnerability.

    Fixed in 8.7.0

Event History

Sep 9, 2026
CVE Published
via MITRE·01:32 PM
Data Sourced
via MITRE·01:32 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An attacker needs an authenticated Snipe-IT session with the assets.checkout permission or superuser access. They must also send precisely timed concurrent checkout requests for the same available asset.

2

Are ordinary users or unauthenticated attackers affected?

No. Exploitation requires authenticated, privileged access to perform asset checkouts; the provided information does not indicate an unauthenticated attack path.

3

What is the practical impact if exploitation succeeds?

The same asset can receive duplicate checkout-history entries, an incremented checkout counter twice, and two checkout events. The final assigned_to value remains singular, but audit-trail and utilization or reconciliation reporting can be corrupted.

4

What should teams do if they cannot immediately upgrade?

Restrict the assets.checkout permission to only necessary users and monitor checkout history for duplicate near-simultaneous entries involving the same asset. The issue is fixed in version 8.7.0.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203