Portainer Community Edition
Uma falha de autorização no endpoint de arquivo de Modelo Personalizado "GET /api/custom templates/{id}/file" permite que qualquer usuário autenticado leia o conteúdo do arquivo de qualquer modelo personalizado. Isso é feito através da enumeração de IDs inteiros sequenciais na variável `id`, ignorando as restrições de acesso do Controle de Recursos. A função `customTemplateFile()` recupera o modelo por seu ID numérico e retorna o conteúdo sem realizar nenhuma verificação de autorização. Os arquivos de modelo podem conter valores sensíveis específicos do ambiente, como strings de conexão, tokens de API ou credenciais de registro.