apko позволяет пользователям создавать и публиковать образы контейнеров OCI, созданные из пакетов apk. Начиная с версии 0.14.8 и до версии 1.1.0,expandapk.Split сливает первый поток gzip из APK-архива через io.Copy(io.Discard, gzi) без явных ограничений. При входном потоке, контролируемом злоумышленником, это может вызвать большую работу по инфляции gzip и привести к истощению ресурсов (влияние на доступность).
Функция Split считывает первый заголовок tar, затем сливает оставшуюся часть потока gzip, читая напрямую из устройства чтения gzip без какого-либо максимального ограничения в несжатых байтах или ограничения коэффициента инфляции. Вызывающий абонент, анализирующий потоки APK, контролируемые злоумышленником, может быть вынужден тратить слишком много времени ЦП на раздувание данных gzip, что приводит к тайм-аутам или замедлению процесса. Эта проблема исправлена в версии 1.1.0.
Показать оригинальное описание (EN)
apko allows users to build and publish OCI container images built from apk packages. From version 0.14.8 to before 1.1.0, expandapk.Split drains the first gzip stream of an APK archive via io.Copy(io.Discard, gzi) without explicit bounds. With an attacker-controlled input stream, this can force large gzip inflation work and lead to resource exhaustion (availability impact). The Split function reads the first tar header, then drains the remainder of the gzip stream by reading from the gzip reader directly without any maximum uncompressed byte limit or inflate-ratio cap. A caller that parses attacker-controlled APK streams may be forced to spend excessive CPU time inflating gzip data, leading to timeouts or process slowdown. This issue has been patched in version 1.1.0.
Характеристики атаки
Последствия
Строка CVSS v3.1