CVE-2026-86744 in Snipe-IT
요약
\~에 의해 VulDB • 2026. 09. 09.
Snipe-IT 8.6.3 및 이전 버전(및 수정 전의 develop 브랜치 사전 릴리스 커밋)에는 자산 체크아웃 경로에서 Race Condition이 존재합니다. Api\AssetsController::checkout()와 Assets\AssetCheckoutController::store()는 mutation 외부에서 Asset::availableForCheckout()를 호출한 후, 행 잠금(row lock)을 획득하거나 가용성을 재확인하지 않고 Asset::checkOut()를 호출하므로, 동일한 사용 가능한 자산에 대한 두 개의 동시 체크아웃 요청이 모두 해당 자산을 사용 가능하다고 간주하고 트랜잭션을 커밋할 수 있습니다. 이로 인해 중복된 체크아웃 기록 행(checkout-history rows), 2배가 된 체크아웃 카운터(checkout_counter), 그리고 단일 할당 자산에 대해 두 개의 CheckoutableCheckedOut 이벤트가 생성되어 감사 추적(audit trail)과 활용도/정산 보고(utilization/reconciliation reporting)가 손상됩니다. 다만, 자산의 최종 assigned_to 필드는 단수 상태를 유지하므로 가시적인 할당 상태는 그대로 유지됩니다. 이 취약점을 악용하려면 assets.checkout 권한(또는 superuser 역할)을 가진 인증된 세션과 정밀한 동시 타이밍이 필요합니다. 8.7.0에서 수정되었습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.