
Divulgação pública e patch para CVE-2025-63914: vulnerabilidade de bomba zip no Cinnamon/kotaemon.
Divulgação pública e correção para CVE-2025-63914: vulnerabilidade de zip bomb no Cinnamon/kotaemon.
Wang Yuanrong
A função _may_extract_zip falha em aplicar limites à descompressão de ZIP, permitindo que um zip bomb malicioso cause consumo excessivo de recursos e negação de serviço.
A função _may_extract_zip no arquivo \libs\ktem\ktem\index\file\ui.py não verifica o conteúdo dos arquivos ZIP enviados. Embora o conteúdo seja extraído para uma pasta temporária que é limpa antes de cada extração, o envio bem-sucedido de um zip bomb ainda pode fazer com que o servidor consuma recursos excessivos durante a descompressão. Além disso, se nenhum outro arquivo for enviado posteriormente, os dados extraídos podem ocupar espaço em disco e potencialmente tornar o sistema indisponível. Qualquer pessoa com permissão para enviar arquivos pode realizar esse ataque.
Use o comando para baixar e executar a imagem mais recente:
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
Crie um payload altamente compressível consistindo em bytes repetidos para obter taxas de compressão extremas.

Durante o processo, podemos notar lentidão devido ao consumo de recursos, e podemos verificar o tamanho do diretório temporário.

Esse uso de recursos permanecerá mesmo quando nenhum outro arquivo estiver sendo enviado.
Um atacante com privilégios de envio de arquivos pode enviar um arquivo ZIP especialmente criado que causa consumo descontrolado de disco, CPU e memória, levando a queda do serviço ou indisponibilidade do host. Todas as instâncias — incluindo a versão mais recente (0.11.0) — são afetadas.
Um zip bomb de teste e a correção correspondente para a versão 0.11.0 são fornecidos neste repositório.
Visão geral da correção:
Após aplicar a correção, um aviso aparecerá quando um zip bomb for enviado, e a operação será rejeitada:
