Gately v0.6.1 lançado
30 de outubro de 2026
Esta versão traz uma correção de segurança. Recomendamos que todos que ativaram o gerenciamento do Docker e usam contas ou tokens de API somente leitura atualizem o quanto antes. Ela também resolve #35, #37, #38 e #40, e adiciona uma política de segurança.
Baixar v0.6.1 · GitHub Release · Aviso de segurança GHSA-m6h7-mm5r-r53q
Correção de segurança: acesso somente leitura ao Docker expunha dados sensíveis dos contêineres
No v0.6.0.4 e anteriores, contas somente leitura e tokens de API com apenas a permissão docker:read podiam ler em texto puro as variáveis de ambiente, Command, Entrypoint e argumentos de inicialização de um contêiner por GET /api/docker/containers/{id}, e a lista de processos mostrava as linhas de comando completas, deixando senhas de banco de dados e chaves de API comuns ao alcance de identidades somente leitura. Agradecemos a Yousef Alturki (@YousefAlturki) pelo relato responsável.
Depois da correção:
- quando uma identidade sem permissão de escrita no Docker visualiza um contêiner, as variáveis de ambiente mostram apenas o nome, e os valores, Command, Entrypoint, argumentos de inicialização e argumentos de comando na lista de processos aparecem como
********; variáveis de ambiente, Cmd, Entrypoint e comandos do histórico de build nos detalhes da imagem são ocultados da mesma forma; - os valores em texto puro passam a vir de
GET /api/docker/containers/{id}/secrets, que exigedocker:write. O formulário de edição os carrega automaticamente para administradores, e campos enviados ainda com o marcador mantêm o valor original; - o nome ou prefixo de ID de um contêiner na requisição é primeiro resolvido para o ID completo, então a proteção do contêiner em que o próprio Gately roda não pode mais ser contornada pelo nome do contêiner. A edição e a recriação na atualização sempre tratam o contêiner antigo pelo ID completo, o que corrige a etapa de limpeza apagando o contêiner novo e a impossibilidade de reverter após falha quando a chamada era feita pelo nome. Iniciar, parar ou excluir o contêiner durante a recriação retorna 409.
Depois de atualizar, verifique se algum token de API somente leitura já foi entregue a terceiros não confiáveis e, se necessário, troque os segredos dos seus contêineres. Veja em SECURITY.md como relatar vulnerabilidades, pelo relato privado de vulnerabilidades do GitHub ou por e-mail.
Rede de emissão de certificados
Os certificados ganharam a opção "Rede" (#35): "Somente IPv4" ou "Somente IPv6" faz com que o acesso à CA, as chamadas à API do provedor de DNS e a verificação de que os registros TXT entraram em vigor usem apenas essa família de endereços. Quando o host tem um endereço IPv6 mas o IPv6 não funciona de fato, a verificação de propagação expirava ao consultar os servidores DNS autoritativos e a emissão falhava; basta escolher "Somente IPv4". Ao acessar por um proxy como HTTPS_PROXY, a conexão com o próprio proxy não é limitada por essa opção. Veja Certificados SSL · Rede de emissão.
Proteção do próprio contêiner do Gately
Na página do Docker, atualizar, atualizar em lote, editar com recriação, além de executar up ou excluir o projeto Compose ao qual o Gately pertence, param primeiro o contêiner antigo. O processo do Gately terminava junto, a recriação nunca se completava e o contêiner ficava parado (#38). Agora essas operações são recusadas para o próprio contêiner: os botões ficam desativados com uma dica para atualizar no host, e a atualização em lote o pula. Ao reiniciar o projeto Compose ao qual o Gately pertence, o próprio contêiner é reiniciado por último.
Notificações e logs seguem o idioma da interface
Quando o idioma do servidor é "Seguir o sistema", o Gately usa, nesta ordem, o idioma definido em GATELY_LANG e LANG. No Docker, no fnOS e no OpenWrt normalmente nenhuma das duas existe, por isso as notificações caíam para o inglês (#40). Agora elas seguem o idioma da interface do último login do administrador ou da última troca na barra superior; logins de contas somente leitura não o alteram. A "Origem" de uma notificação é traduzida quando é um nome gerado pelo programa, enquanto nomes de tarefa digitados pelos usuários permanecem como estão. Logs em inglês com prefixos como [warn] [auth] não misturam mais chinês e inglês.
Configurar site padrão
Quando um listener dos Serviços Web ainda não tem site padrão, o cartão mostra o novo botão "Configurar site padrão" (#37) para definir diretamente como tratar as requisições que não correspondem a nenhum domínio.
Notas de atualização
- Docker: baixe a nova imagem e recrie o contêiner. OpenWrt: instale o novo
.apk/.ipksobre o anterior e instale também oluci-app-gatelyda mesma versão se quiser a página do LuCI. fnOS: instale manualmente o novo.fpkna Central de aplicativos. As demais instalações podem ser atualizadas online em "Configurações do sistema".