CVE-2026-86744 in Snipe-IT
Resumen
por VulDB • 2026-09-09
Snipe-IT 8.6.3 y versiones anteriores (así como las confirmaciones de pre-lanzamiento del desarrollo previas a la corrección) contienen una race condition en los flujos de checkout de activos. Api\AssetsController::checkout() y Assets\AssetCheckoutController::store() llaman a Asset::availableForCheckout() fuera de la ruta de mutación y luego invocan Asset::checkOut() sin tomar un bloqueo de fila ni volver a verificar la disponibilidad, por lo que dos solicitudes concurrentes de checkout para el mismo activo disponible pueden observar ambos como disponibles y ambas se confirman. Esto produce filas duplicadas en el historial de checkout, un contador de checkout duplicado y dos eventos CheckoutableCheckedOut para un activo de asignación única, corrompiendo la pista de auditoría y los informes de utilización/reconciliación; la assigned_to final del activo sigue siendo singular, por lo que la asignación visible permanece intacta. La explotación requiere una sesión autenticada con el permiso assets.checkout (o superusuario) y un timing concurrente preciso. Corregido en 8.7.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.