Giter VIP home page Giter VIP logo

tcld's Introduction

tcld (Beta)

A cli tool for managing Temporal Cloud namespaces.

This cli tool is currently in beta and access to Temporal Cloud via the cli is restricted. Please reach out to temporal-cloud support for more information.

Installation

Install via Homebrew

brew install temporalio/brew/tcld

Build from source

  1. Verify that you have Go 1.18+ installed. If go is not installed, follow instructions on the Go website.
go version
  1. Clone the tcld repository and run make.
git clone https://github.com/temporalio/tcld.git
cd tcld
make
  1. Copy the tcld executable to any directory that appears in the PATH environment variable; for example, /usr/local/bin/.
cp tcld /usr/local/bin/tcld
  1. Run tcld version to check if it worked.
tcld version

Authentication and Login

User login authentication:

In order to use the cli you must first login by running the following command:

tcld login

You will be sent a link to confirm your device code and login. After logging in, you are now authenticated and can make requests with this cli.

API Key based authentication:

You can use API keys to authenticate with the cli by passing the --api-key flag or setting the TEMPORAL_CLOUD_API_KEY environment variable.

tcld --api-key <api-key> ...
export TEMPORAL_CLOUD_API_KEY=<api-key>
tcld ...

API Key Management (Preview)

The API Key feature is currently in "Preview Release". Customers must be invited to use this feature. Please reach out to Temporal Cloud support for more information.

API Keys provide machine based authentication for Temporal Control Plane APIs. These keys are generated for and inherit the roles and permissions of the current user. API Keys are required to have a duration / expiry for preview within 1 to 90 days. We recommend to always set a duration / expiry for your API keys. This will allow you to rotate your API keys frequently and minimize the exposure of a token in case it is compromised.

Creating an API Key:

Make sure to copy the secret or else you will not be able to retrieve it again.

Create an API key by running the following command (duration must be within 1 to 90 days):

tcld apikey create --name <api-key-name> --description <api-key-description> --duration <api-key-duration>

List API Keys for the current user:

tcld apikey list

Delete an API Key:

tcld apikey delete --id <api-key-id>

Enable or Disable an API Key:

If you determine there is a need to temporarily disable API Key access but want to enable it in the future, run the following commands:

tcld apikey disable --id <api-key-id>
tcld apikey enable --id <api-key-id>

Performing an API Key rotation:

  1. Generate the new API key to rotate to.
tcld apikey create --name <api-key-name> --description <api-key-description> --duration <api-key-duration>
  1. Update temporal clients to use the new API key and monitor deployments to make sure all old API key usage is gone.
  2. Delete the old API key.
tcld apikey delete --id <api-key-id>

Namespace Management

List namespaces user has access to:

tcld namespace list

Get namespace information:

tcld namespace get -n <namespace>

Update the CA certificate:

tcld namespace accepted-client-ca set -n <namespace> --ca-certificate-file <ca-pem-filepath>

⚠️ If the update removes a certificate, any clients (tctl/workers) still using the removed certificate will fail to connect to the namespace after the update completes.

Performing a certificate rollover:

It is important to do a rollover process when updating your CA certificates. This allows your namespace to serve both CA certificates for a period of time until traffic to your old certificate is gone. To do this follow these steps:

  1. Generate the new certificates.
  2. Run the accepted-client-ca add command with the new CA certificates.
tcld namespace accepted-client-ca add -n <namespace> --ca-certificate-file <new-ca-pem-filepath>
  1. Update temporal clients to use the new certificates and monitor deployments to make sure all old certificate usage is phased out.
  2. Run the accepted-client-ca remove command to remove the old certificates.
tcld namespace accepted-client-ca remove -n <namespace> --ca-certificate-file <old-ca-pem-filepath>

Or use the fingerprint of the old ca certificate with the remove command.

tcld namespace accepted-client-ca remove -n <namespace> --ca-certificate-fingerprint <old-ca-fingerprint>

Add new search attributes:

tcld namespace search-attributes add -n <namespace> --sa "<attribute-name>=<search-attribute-type>" --sa "<attribute-name>=<search-attribute-type>"

Supported search attribute types: Keyword Text Int Double Datetime Bool

Rename existing search attribute:

tcld namespace search-attributes rename -n <namespace> --existing-name <existing-attribute-name> --new-name <new-attribute-name>

⚠️ Any workflows that are using the old search attribute name will fail after the update.

User Management

List users:

tcld user list

Get user information:

tcld user get -e <user-email>

Invite users to your account:

To invite users to your account, you must specify the email and account role. Namespace permissions are optional. You can invite multiple emails at once. An invitation email will be sent to the emails specified. Users should accept the invitation from the email to confirm being added to the account.

tcld user invite -e <user-email> --ar <account-role> -p <namespace-1=namespace-permission> -p <namespace-2=namespace-permission>

Reinvite users to your account:

If a user has been invited to your account but has not accepted the invite, you can reinvite them using the following command. This command will send a new invite email to the user. The previous email invitation link will become invalid.

tcld user resend-invite -e <user-email>

Delete user from your account:

To delete a user from your account, run the following command. The user will be removed from your account and have all permissions revoked.

tcld user delete -e <user-email>

Update user permissions:

Run the following command to update a user's account role. A user is only assigned one account role at a time. The admin role gives the user access to all namespaces.

tcld user set-account-role -e <user-email> --ar <account-role>

Run the following command to update a user's namespace permissions. This is a set operation, which requires assigning the full set of permissions each time. To get the current set of namespace permissions run the tcld user get command. Permissions not specified will be effectively removed. Do not run this command if the user is already an account admin, since they already have access to all namespaces.

# get list of current namespace permissions
tcld user get -e <user-email> | jq -r '.spec.namespacePermissions'

# set new user namespace permissions, make sure to include any permissions from the previous command
tcld user set-namespace-permissions -e <user-email> -p <namespace-1=namespace-permission> -p <namespace-2=namespace-permission>

Asynchronous Operations

Any update operations making changes to the namespaces hosted on Temporal Cloud are asynchronous. Such operations are tracked using a request-id that can be passed in when invoking the update operation or will be auto-generated by the server if one is not specified. Once an asynchronous request is initiated, a request-id is returned. Use the request get command to query the status of an asynchronous request.

tcld request get -r <request-id> -n <namespace>

License

MIT License, please see LICENSE for details.

tcld's People

Contributors

alice-yin avatar anekkanti avatar chndler avatar david049 avatar dependabot[bot] avatar feihuang avatar hehaifengcn avatar jackdawm avatar jumbogo avatar laniehei avatar mastermanu avatar mattkim avatar mcbryde avatar nikki-dag avatar protochron avatar sagikazarmark avatar shakeelrao avatar shivam-ajmera avatar tminusplus avatar yux0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tcld's Issues

[Bug] releases not uploaded to homebrew

What are you really trying to do?

Describe the bug

If I install tcdl via homebrew (see documentation https://github.com/temporalio/tcld#install-via-homebrew), I get the version 0.17.

image

instead of the latest released version (v0.4.0 as per today)

Minimal Reproduction

Environment/Versions

  • OS and processor: [e.g. M1 Mac, x86 Windows, Linux]
  • Temporal Version: [e.g. 1.14.0?] and/or SDK version
  • Are you using Docker or Kubernetes or building Temporal from source?

Additional context

[Feature Request] Add ability to log out of tcld (to be able to rechoose an email)

Context:
I accidentally clicked on the wrong email when initially logging in, then I had permission denied errors when I tried running commands. When I tried relogging in, it would just direct me to the device confirmation page without giving me the chance to correctly choose the right email.

Suggestion:
There wasn't a straightforward way for me to use tcld to log out and reconnecting with a different email. Maybe introduce a tcld logout command.

[Feature Request] Add CreateNamespace command

Is your feature request related to a problem? Please describe.

I want to be able to have a bash script (in lieu of having terraform) ensure that the correct namespaces exist in our temporal cloud account.

We are creating certs and storing them in SSM params, so I want to be able to iterate through the params I can find and either update the certs in the namespaces, or create new namespaces if the one specified doesn't exist.

Describe the solution you'd like

I want to be able to call it like so:

aws ssm get-parameter \
  --with-decryption \
  --recursive \
  --name /temporalcloud/my-new-namespace/certificate \
  --no-cli-pager \
  --query "Parameter.Value" \
  --output text \
  > my-new-namespace.crt

temporal namespace create \
  --namespace my-new-namespace \
  --region us-east-1 \
  --retention-days 14 \
  --ca-certificate-file my-new-namespace.crt

Additional context

I am happy to implement or contribute this. I actually have a version that works on my fork, and I'll submit a draft PR after this issue.

If a create command is not in your design spec, feel free to close this issue & PR. I can just use my forked version as needed (although it's hacky...).

[Feature Request] Provide a Nix flake/NUR repository

Is your feature request related to a problem? Please describe.

I manage all my development environments with Nix.

Describe the solution you'd like

I'd like to install tcld using Nix.

Additional context

Chances are publishing tcld to the official nixpkgs doesn't make much sense.

You may want to set up your own repository.

I recently collaborated with the Dagger team to do the same: https://github.com/dagger/nix

Happy to collaborate with you as well.

github.com/go-playground/valIdator/v10-v10.13.0: 1 vulnerabilities (highest severity is: 5.9)

Vulnerable Library - github.com/go-playground/valIdator/v10-v10.13.0

Path to dependency file: /go.mod

Path to vulnerable library: /go/pkg/mod/cache/download/golang.org/x/crypto/@v/v0.14.0.mod

Found in HEAD commit: 4d6f44342331fcdef978c4281f35e9c2461dcd24

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (github.com/go-playground/valIdator/v10-v10.13.0 version) Remediation Possible**
CVE-2023-48795 Medium 5.9 golang.org/x/crypto-v0.14.0 Transitive N/A*

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2023-48795

Vulnerable Library - golang.org/x/crypto-v0.14.0

Library home page: https://proxy.golang.org/golang.org/x/crypto/@v/v0.14.0.zip

Path to dependency file: /go.mod

Path to vulnerable library: /go/pkg/mod/cache/download/golang.org/x/crypto/@v/v0.14.0.mod

Dependency Hierarchy:

  • github.com/go-playground/valIdator/v10-v10.13.0 (Root Library)
    • golang.org/x/crypto-v0.14.0 (Vulnerable Library)

Found in HEAD commit: 4d6f44342331fcdef978c4281f35e9c2461dcd24

Found in base branch: main

Vulnerability Details

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remote attackers to bypass integrity checks such that some packets are omitted (from the extension negotiation message), and a client and server may consequently end up with a connection for which some security features have been downgraded or disabled, aka a Terrapin attack. This occurs because the SSH Binary Packet Protocol (BPP), implemented by these extensions, mishandles the handshake phase and mishandles use of sequence numbers. For example, there is an effective attack against SSH's use of ChaCha20-Poly1305 (and CBC with Encrypt-then-MAC). The bypass occurs in [email protected] and (if CBC is used) the [email protected] MAC algorithms. This also affects Maverick Synergy Java SSH API before 3.1.0-SNAPSHOT, Dropbear through 2022.83, Ssh before 5.1.1 in Erlang/OTP, PuTTY before 0.80, AsyncSSH before 2.14.2, golang.org/x/crypto before 0.17.0, libssh before 0.10.6, libssh2 through 1.11.0, Thorn Tech SFTP Gateway before 3.4.6, Tera Term before 5.1, Paramiko before 3.4.0, jsch before 0.2.15, SFTPGo before 2.5.6, Netgate pfSense Plus through 23.09.1, Netgate pfSense CE through 2.7.2, HPN-SSH through 18.2.0, ProFTPD before 1.3.8b (and before 1.3.9rc2), ORYX CycloneSSH before 2.3.4, NetSarang XShell 7 before Build 0144, CrushFTP before 10.6.0, ConnectBot SSH library before 2.2.22, Apache MINA sshd through 2.11.0, sshj through 0.37.0, TinySSH through 20230101, trilead-ssh2 6401, LANCOM LCOS and LANconfig, FileZilla before 3.66.4, Nova before 11.8, PKIX-SSH before 14.4, SecureCRT before 9.4.3, Transmit5 before 5.10.4, Win32-OpenSSH before 9.5.0.0p1-Beta, WinSCP before 6.2.2, Bitvise SSH Server before 9.32, Bitvise SSH Client before 9.33, KiTTY through 0.76.1.13, the net-ssh gem 7.2.0 for Ruby, the mscdex ssh2 module before 1.15.0 for Node.js, the thrussh library before 0.35.1 for Rust, and the Russh crate before 0.40.2 for Rust.

Publish Date: 2023-12-18

URL: CVE-2023-48795

CVSS 3 Score Details (5.9)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: High
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://security-tracker.debian.org/tracker/CVE-2023-48795

Release Date: 2023-12-18

Fix Resolution: putty - 0.80, openssh - V_9_6_P1, golang/crypto - v0.17.0, asyncssh - 2.14.2, libssh-0.9.8, libssh-0.10.6, teraterm - v5.1, paramiko - 3.4.0, russh - 0.40.2, com.github.mwiede:jsch:0.2.15, proftpd - v1.3.8b, thrussh - 0.35.1, teraterm - v5.1, org.connectbot:sshlib:2.2.22, mscdex/ssh2 - 1.15.0, jtesta/ssh-audit - v3.1.0, Oryx-Embedded/CycloneSSH - v2.3.4, opnsense/src - 23.7, winscp - 6.2.2, PowerShell/openssh-portable - v9.5.0.0

[Bug] "tcld apikey" not working

What are you really trying to do?

Managing apikeys in Temporal Cloud as per documented here https://github.com/temporalio/tcld#api-key-management-preview

Describe the bug

After pulling the latest version, main branch and building the binary using make command, the command tcld apikey is not recognized

❯ ./tcld apikey list
No help topic for 'apikey'

Minimal Reproduction

Environment/Versions

  • OS and processor: [e.g. M1 Mac, x86 Windows, Linux]
  • Temporal Version: [e.g. 1.14.0?] and/or SDK version
  • Are you using Docker or Kubernetes or building Temporal from source?

Additional context

google.golang.org/grpc-v1.46.2: 9 vulnerabilities (highest severity is: 7.5) - autoclosed

Vulnerable Library - google.golang.org/grpc-v1.46.2

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (google.golang.org/grpc-v1.46.2 version) Remediation Available
CVE-2022-27664 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2022-30633 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2022-32149 High 7.5 golang.org/x/text-v0.3.7 Transitive N/A*
CVE-2022-41721 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2021-33194 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2021-44716 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2022-28131 High 7.5 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2021-31525 Medium 5.9 golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 Transitive N/A*
CVE-2022-29526 Medium 5.3 golang.org/x/sys-v0.0.0-20210903071746-97244b99971b Transitive N/A*

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

Details

CVE-2022-27664

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

In net/http in Go before 1.18.6 and 1.19.x before 1.19.1, attackers can cause a denial of service because an HTTP/2 connection can hang during closing if shutdown were preempted by a fatal error.

Publish Date: 2022-09-06

URL: CVE-2022-27664

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

CVE-2022-30633

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

Uncontrolled recursion in Unmarshal in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via unmarshalling an XML document into a Go struct which has a nested field that uses the 'any' field tag.

Publish Date: 2022-08-10

URL: CVE-2022-30633

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://security-tracker.debian.org/tracker/CVE-2022-30633

Release Date: 2022-05-13

Fix Resolution: go1.17.12,go1.18.4

CVE-2022-32149

Vulnerable Library - golang.org/x/text-v0.3.7

Library home page: https://proxy.golang.org/golang.org/x/text/@v/v0.3.7.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4
      • golang.org/x/text-v0.3.7 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

An attacker may cause a denial of service by crafting an Accept-Language header which ParseAcceptLanguage will take significant time to parse.

Publish Date: 2022-10-14

URL: CVE-2022-32149

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://www.cve.org/CVERecord?id=CVE-2022-32149

Release Date: 2022-10-14

Fix Resolution: v0.3.8

CVE-2022-41721

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

A request smuggling attack is possible when using MaxBytesHandler. When using MaxBytesHandler, the body of an HTTP request is not fully consumed. When the server attempts to read HTTP2 frames from the connection, it will instead be reading the body of the HTTP request, which could be attacker-manipulated to represent arbitrary HTTP2 requests.

Publish Date: 2023-01-13

URL: CVE-2022-41721

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

CVE-2021-33194

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

golang.org/x/net before v0.0.0-20210520170846-37e1c6afe023 allows attackers to cause a denial of service (infinite loop) via crafted ParseFragment input.

Publish Date: 2021-05-26

URL: CVE-2021-33194

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-33194

Release Date: 2021-05-26

Fix Resolution: golang.org/x/net - v0.0.0-20210520170846-37e1c6afe023

CVE-2021-44716

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

net/http in Go before 1.16.12 and 1.17.x before 1.17.5 allows uncontrolled memory consumption in the header canonicalization cache via HTTP/2 requests.

Publish Date: 2022-01-01

URL: CVE-2021-44716

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-vc3p-29h2-gpcp

Release Date: 2022-01-01

Fix Resolution: github.com/golang/net - 491a49abca63de5e07ef554052d180a1b5fe2d70

CVE-2022-28131

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

Uncontrolled recursion in Decoder.Skip in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a deeply nested XML document.

Publish Date: 2022-08-10

URL: CVE-2022-28131

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://security-tracker.debian.org/tracker/CVE-2022-28131

Release Date: 2022-03-29

Fix Resolution: go1.17.12,go1.18.4

CVE-2021-31525

Vulnerable Library - golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4

[mirror] Go supplementary network libraries

Library home page: https://proxy.golang.org/golang.org/x/net/@v/v0.0.0-20210405180319-a5a99cb37ef4.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/net-v0.0.0-20210405180319-a5a99cb37ef4 (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

net/http in Go before 1.15.12 and 1.16.x before 1.16.4 allows remote attackers to cause a denial of service (panic) via a large header to ReadRequest or ReadResponse. Server, Transport, and Client can each be affected in some configurations.

Publish Date: 2021-05-27

URL: CVE-2021-31525

CVSS 3 Score Details (5.9)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://bugzilla.redhat.com/show_bug.cgi?id=1958341

Release Date: 2021-05-27

Fix Resolution: golang - v1.15.12,v1.16.4,v1.17.0

CVE-2022-29526

Vulnerable Library - golang.org/x/sys-v0.0.0-20210903071746-97244b99971b

Library home page: https://proxy.golang.org/golang.org/x/sys/@v/v0.0.0-20210903071746-97244b99971b.zip

Dependency Hierarchy:

  • google.golang.org/grpc-v1.46.2 (Root Library)
    • golang.org/x/sys-v0.0.0-20210903071746-97244b99971b (Vulnerable Library)

Found in HEAD commit: f878b4edda2568afb4f36fd71a745d41a65bf911

Found in base branch: main

Vulnerability Details

Go before 1.17.10 and 1.18.x before 1.18.2 has Incorrect Privilege Assignment. When called with a non-zero flags parameter, the Faccessat function could incorrectly report that a file is accessible.

Publish Date: 2022-06-23

URL: CVE-2022-29526

CVSS 3 Score Details (5.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://security-tracker.debian.org/tracker/CVE-2022-29526

Release Date: 2022-06-23

Fix Resolution: go1.17.10,go1.18.2,go1.19

[Feature Request] More information in "request not authenticated" error

Is your feature request related to a problem? Please describe.

When you run a command like:
tcld n cf exp -f <path for your json export> -n <namespace>

It can print:
rpc error: code = Unauthenticated desc = request not authenticated

It'd be nice to add a line about "try tcld login

Describe the solution you'd like

Just adding a line about trying tcld login in access failure messages.

It'd be also nice to extend the documentation at:
https://docs.temporal.io/cloud/tcld/login

[Bug] "make" fails when env TEMPORAL_CLOUD_API_KEY is set

What are you really trying to do?

Install tcld according to the instructions in the docs: https://docs.temporal.io/cloud/tcld#install-tcld

Describe the bug

If I run your instructions with the env var TEMPORAL_CLOUD_API_KEY set as an actual api key, the tests will fail:

git clone https://github.com/temporalio/tcld.git
cd tcld
make

Make will fail with:

FAIL	github.com/temporalio/tcld/app	10.486s
FAIL
make: *** [Makefile:27: test] Error 1

Minimal Reproduction

  1. Clone this repo
  2. export TEMPORAL_CLOUD_API_KEY=an-actual-api-key
  3. make

Environment/Versions

This repo with commit 0549218 <- latest on main as of right now.
Go v1.22.3 on Ubuntu 22.04

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.