Syft — это инструмент CLI и библиотека Go для создания спецификации программного обеспечения (SBOM) на основе образов контейнеров и файловых систем. Версии Syft до версии 1.42.3 не могли должным образом очищать временное хранилище, если временное хранилище было исчерпано во время сканирования. При сканировании архивов Syft распакует эти архивы во временное хранилище, а затем проверит распакованное содержимое.
При нормальной работе Syft удалит записанные временные данные после завершения сканирования. Эта уязвимость затронет пользователей Syft, которые сканируют контент, который может привести к тому, что Syft заполнит временное хранилище, что затем приведет к тому, что Syft выдаст ошибку и завершит работу. При возникновении ошибки Syft завершает работу без надлежащего удаления используемых временных файлов.
В нашем тестировании это легче всего было воспроизвести при сканировании очень больших артефактов или сильно сжатых артефактов, таких как zip-бомба. Поскольку Syft не будет очищать свои временные файлы, результатом будет заполнение временного хранилища файлов, что предотвратит будущие запуски Syft или других системных утилит, которые полагаются на доступность временного хранилища. Патч выпущен в версии 1.42.3.
Syft теперь очищает временные файлы при возникновении ошибки. В Syft нет обходных путей для этой уязвимости. Пользователи, обнаружившие, что их временное хранилище исчерпано, могут вручную удалить временные файлы.
Показать оригинальное описание (EN)
Syft is a a CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems. Syft versions before v1.42.3 would not properly cleanup temporary storage if the temporary storage was exhausted during a scan. When scanning archives Syft will unpack those archives into temporary storage then inspect the unpacked contents. Under normal operation Syft will remove the temporary data it writes after completing a scan. This vulnerability would affect users of Syft that were scanning content that could cause Syft to fill the temporary storage that would then cause Syft to raise an error and exit. When the error is triggered Syft would exit without properly removing the temporary files in use. In our testing this was most easily reproduced by scanning very large artifacts or highly compressed artifacts such as a zipbomb. Because Syft would not clean up its temporary files, the result would be filling temporary file storage preventing future runs of Syft or other system utilities that rely on temporary storage being available. The patch has been released in v1.42.3. Syft now cleans up temporary files when an error condition is encountered. There are no workarounds for this vulnerability in Syft. Users that find their temporary storage depleted can manually remove the temporary files.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Anchore Syft
cpe:2.3:a:anchore:syft:*:*:*:*:*:*:*:*
|
— |
1.42.3
|