Snipe-IT 8.6.3 и более ранние версии не проверяют возвращаемое значение Storage::put() при записи PNG подписи и сгенерированного приемного PDF-файла в Account\AcceptanceController::store(). В драйверах файловой системы, которые возвращают false вместо выдачи ошибки записи (например, локальный диск с ограничительными разрешениями, S3 с истекшими учетными данными или серверная часть хранилища, у которой нет квоты), выполнение продолжается в $acceptance->accept(), который устанавливает поля Accept_at и Signature_filename/eula_filename, создает «принятую» запись журнала действий и отправляет уведомления о завершении, даже если файлы свидетельств никогда не сохранялись. Результатом является запись о приемке, помеченная как завершенная, файлы подтверждающих доказательств которой не существуют, что приводит к существенно неполному артефакту соответствия для рабочих процессов подтверждения EULA или получения оборудования.
Условие срабатывает, когда аутентифицированный пользователь завершает принятие, в то время как серверная часть хранилища автоматически не выполняет запись; злоумышленник не может напрямую перевести серверную часть хранилища в это состояние. Исправлено в Snipe-IT 8.7.0.
Показать оригинальное описание (EN)
Snipe-IT 8.6.3 and earlier do not check the return value of Storage::put() when writing the signature PNG and the generated acceptance PDF in Account\AcceptanceController::store(). On filesystem drivers that return false instead of throwing on a write failure (for example the local disk with restrictive permissions, S3 with expired credentials, or a storage backend that is out of quota), execution continues into $acceptance->accept(), which sets accepted_at and the signature_filename/eula_filename fields, creates the 'accepted' action-log entry, and dispatches completion notifications even though the evidence files were never stored. The result is an acceptance record marked complete whose supporting evidence files do not exist, yielding a materially incomplete compliance artifact for EULA acknowledgement or equipment-receipt workflows. The condition is triggered when an authenticated user completes an acceptance while the storage backend is silently failing writes; an attacker cannot directly force the storage backend into that state. Fixed in Snipe-IT 8.7.0.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Snipeitapp Snipe-It
cpe:2.3:a:snipeitapp:snipe-it:*:*:*:*:*:*:*:*
|
— |
8.7.0
|