CVE-2026-86766: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in grokability snipe-it
Affects grokability snipe-itSource CVE Database V5
Not known to be exploited · CVSS 7.1 High · fixed in 8.7.0 : patch grokability snipe-it soon.
Data as of 10/25/2026, 04:40:14 UTC
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 27% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 8.7.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NWhat to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| grokabilitysnipe-it | Affected
| Fixed in
|
GitHubgrokability/snipe-itpkg:github/grokability/snipe-itOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in Snipe-IT version 8.7.0, which addresses the race condition by implementing row locking and re-validation of consumable availability within the database transaction. Users should upgrade to version 8.7.0 or later to remediate this vulnerability. No other mitigations are indicated.
Description
Snipe-IT versions up to and including 8.6.3 contain a race condition (TOCTOU) in the consumable checkout API endpoint (POST /api/v1/consumables/{consumable_id}/checkout). The requested quantity is validated against the number of remaining units before the database transaction begins, and the transaction then creates the checkout records without locking the consumable row or re-checking availability. An authenticated user with permission to check out consumables can submit concurrent checkout requests for the same consumable so that both requests pass the availability check and succeed, over-allocating stock and driving the remaining inventory negative (e.g., a consumable with 1 remaining unit ends at -1 after two concurrent 1-unit checkouts). The issue is fixed in 8.7.0, which re-fetches the parent row under lockForUpdate inside the transaction and re-validates availability.
Impact
An authenticated user with checkout permissions can exploit this race condition to over-allocate consumable stock, causing inventory counts to become inaccurate and negative. This can disrupt inventory management and potentially lead to resource shortages or accounting errors. There is no indication of privilege escalation or remote code execution. The CVSS 4.0 score is 7.1 (high severity) reflecting network attack vector, low attack complexity, no user interaction, and high impact on integrity.