CyberRota Analysis
AI-GeneratedSnipe-IT versions 8.6.3 and earlier are vulnerable to a race condition in the asset checkout process, allowing authenticated users to exploit concurrent checkout requests for the same asset, leading to duplicate entries in the checkout history and inaccurate reporting. Although the severity is low, organizations using these versions should prioritize upgrading to 8.7.0 to maintain data integrity and prevent potential audit trail corruption. This vulnerability particularly affects users with the assets.checkout permission or superuser access.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
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 checkout_counter, and two CheckoutableCheckedOut events for a single-assignment asset, corrupting the audit trail and utilization/reconciliation reporting; the asset's final assigned_to 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.