Getarcaneapp · Arcane · CVE-2026-45626
**Nome do Software Vulnerável e Versões Afetadas**
Arcane versões 1.18.1 e anteriores
**Descrição**
Existe um problema onde o endpoint "GET /environments/{id}/volumes/{volumeName}/browse" aceita um parâmetro de consulta `path` que é passado para um comando de shell (`sh -c "find … | while …"`) dentro de um container auxiliar. O sanitizador de caminho bloqueia a travessia de diretório usando `../`, mas não remove metacaracteres do Bourne-shell, como `$()` ou crases. Além disso, o uso de `strconv.Quote` escapa apenas metacaracteres de strings do Go, e não sequências de substituição de shell.
Isso permite que qualquer usuário autenticado com acesso a um volume navegável execute comandos arbitrários dentro do container auxiliar isolado. A saída desses comandos é refletida para o usuário no corpo da resposta de erro HTTP 500. Embora o container auxiliar esteja com a rede desativada e não possua modo privilegiado ou montagens de socket do Docker, essa falha permite que invasores ignorem restrições da API, como a censura de alvos de links simbólicos e limites de tamanho de arquivo, além de sondar a imagem auxiliar e o volume.
Além disso, o mesmo sanitizador insuficiente no endpoint "DELETE /environments/{id}/volumes/{volumeName}/browse" permite que um usuário autenticado exclua recursivamente todo o conteúdo do volume ao fornecer `path=.` como entrada.
**Recomendações**
Para as versões 1.18.1 e anteriores, atualize o software para uma versão onde o sanitizador de caminho seja reforçado para remover metacaracteres de shell e evitar a substituição de comandos.
Como medida paliativa temporária, restrinja o acesso aos endpoints "GET /environments/{id}/volumes/{volumeName}/browse" e "DELETE /environments/{id}/volumes/{volumeName}/browse" apenas a administradores confiáveis.