
Публичное раскрытие и исправление для CVE-2025-63914: уязвимость типа «Zip-бомба» в Cinnamon/kotaemon.
Публичное раскрытие и исправление для CVE-2025-63914: Уязвимость zip-бомбы в Cinnamon/kotaemon.
Wang Yuanrong
Функция _may_extract_zip не применяет ограничения на распаковку ZIP-архивов, что позволяет вредоносной zip-бомбе вызывать чрезмерное потребление ресурсов и отказ в обслуживании.
Функция _may_extract_zip в файле \libs\ktem\ktem\index\file\ui.py не проверяет содержимое загруженных ZIP-архивов. Хотя содержимое распаковывается во временную папку, которая очищается перед каждой распаковкой, успешная загрузка zip-бомбы всё равно может привести к тому, что сервер будет потреблять чрезмерные ресурсы во время декомпрессии. Кроме того, если после этого не загружать другие файлы, распакованные данные могут занимать дисковое пространство и потенциально сделать систему недоступной. Любой, кто имеет разрешение на загрузку файлов, может осуществить эту атаку.
Используйте команду для загрузки и запуска последнего образа:
docker run \
--name kotaemon \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-v /home/kali/ktem_app_data/:/app/ktem_app_data \
-p 7860:7860 -d \
ghcr.io/cinnamon/kotaemon:0.11.0-full
Создайте сильно сжимаемую полезную нагрузку, состоящую из повторяющихся байтов, чтобы достичь экстремальных коэффициентов сжатия.

В процессе мы можем заметить замедления из-за потребления ресурсов, и можем проверить размер временной директории.

Это использование ресурсов сохраняется, даже когда не загружаются другие файлы.
Злоумышленник с привилегиями на загрузку файлов может отправить специально сформированный ZIP-архив, который вызывает неконтролируемое потребление диска, ЦП и памяти, что приводит к сбою сервиса или отказу хоста. Все экземпляры — включая последний выпуск (0.11.0) — уязвимы.
В этом репозитории предоставлены тестовая zip-бомба и соответствующее исправление для версии 0.11.0.
Обзор исправления:
После применения исправления при отправке zip-бомбы появится предупреждение, и операция будет отклонена:
