جزئیات آسیبپذیری
CVE-2026-86766
Snipe-IT 8.6.3 Race Condition via Consumable Checkout
شرح رسمی (انگلیسی)
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.
امتیازهای CVSS
| امتیاز | نسخه | منبع | بردار |
|---|---|---|---|
| 7.1بالا | 4.0 | CVEProject cvelistV5 (CNA) (VulnCheck) | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| 6.5متوسط | 3.1 | CVEProject cvelistV5 (CNA) (VulnCheck) | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N |
محصولات آسیبپذیر
| فروشنده | محصول | نسخهها | منبع |
|---|---|---|---|
| grokability | snipe-it | 8.6.3 ≤ v < 8.7.0 | CVEProject cvelistV5 (CNA) |
منابع و راهنماها
۳- https://github.com/grokability/snipe-it/commit/f71806b1e0efbd3bc2b6be61994ad2a5d5d6c206 patch
- https://www.vulncheck.com/advisories/snipe-it-8.6.3-race-condition-via-consumable-checkout third-party-advisory
- https://github.com/grokability/snipe-it/security/advisories/GHSA-x4g2-87xc-m5jm vendor-advisory
اطلاعات
- تاریخ انتشار
- ۱۴۰۵/۰۶/۱۸
- آخرین بهروزرسانی
- ۱۴۰۵/۰۶/۱۸
- وضعیت
- منتشرشده
- صادرکننده (CNA)
- VulnCheck
پیشبینی بهرهبرداری (EPSS)
ارزیابی SSVC (CISA)
- قابل خودکارسازی
- خیر
- وضعیت بهرهبرداری
- اثبات مفهوم
- اثر فنی
- جزئی
ضعفها (CWE)
- CWE-362Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')