CVE-2026-86766 in Snipe-IT
Zusammenfassung
von VulDB • 09.09.2026
Snipe-IT-Versionen bis einschließlich 8.6.3 enthalten eine Race Condition (TOCTOU) im API-Endpunkt für die Ausgabe von Verbrauchsmaterialien (POST /api/v1/consumables/{consumable_id}/checkout). Die angeforderte Menge wird gegen die Anzahl der verbleibenden Einheiten validiert, bevor die Datenbanktransaktion beginnt, und die Transaktion erstellt dann die Ausgabedatensätze, ohne die Zeile für das Verbrauchsmaterial zu sperren oder die Verfügbarkeit erneut zu überprüfen. Ein authentifizierter Benutzer mit Berechtigung zur Ausgabe von Verbrauchsmaterialien kann gleichzeitige Ausgabeanfragen für dasselbe Verbrauchsmaterial einreichen, sodass beide Anfragen den Verfügbarkeitscheck bestehen und erfolgreich sind, was zu einer Überallokation des Bestands führt und die verbleibenden Inventareinheiten negativ werden lässt (z. B. endet ein Verbrauchsmaterial mit 1 verbliebenem Einheit nach zwei gleichzeitigen Ausgabeanfragen für je 1 Einheit bei -1). Das Problem wurde in Version 8.7.0 behoben, die die übergeordnete Zeile innerhalb der Transaktion unter Verwendung von lockForUpdate erneut abruft und die Verfügbarkeit erneut validiert.
If you want to get best quality of vulnerability data, you may have to visit VulDB.