# Snyk test report

June 14th 2026, 1:07:07 am (UTC+00:00)

Scanned the following paths:

- quay.io/argoproj/argocd:v3.2.12/argoproj/argocd/Dockerfile (deb)
- quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3//usr/local/bin/argocd (gomodules)
- quay.io/argoproj/argocd:v3.2.12//usr/local/bin/kustomize (gomodules)
- quay.io/argoproj/argocd:v3.2.12/helm/v3//usr/local/bin/helm (gomodules)
- quay.io/argoproj/argocd:v3.2.12/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)

47 known vulnerabilities
55 vulnerable dependency paths
2326 dependencies

## Incorrect Authorization

critical severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: google.golang.org/grpc
- Introduced through: github.com/argoproj/argo-cd/v3@* and google.golang.org/grpc@v1.75.1

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › google.golang.org/grpc@v1.75.1

## Overview

Affected versions of this package are vulnerable to Incorrect Authorization in the processing of HTTP/2 `:path` pseudo-headers in `handleStream()`. An attacker can gain unauthorized access to restricted resources by sending requests with malformed `:path` headers that omit the leading slash. This is only exploitable if the server uses path-based authorization interceptors, has deny rules that use canonical paths with leading slashes, and has a fallback allow rule in its policy.

## Workaround

This vulnerability can be mitigated by adding a validating interceptor that rejects requests with malformed paths, configuring infrastructure (such as reverse proxies) to enforce strict HTTP/2 compliance, or switching to a default-deny authorization policy.

## Remediation

Upgrade `google.golang.org/grpc` to version 1.79.3 or higher.

## References

- GitHub Commit

More about this vulnerability

## Improper Authentication

critical severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/idna
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/idna@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/idna@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/idna@v0.40.0

## Overview

Affected versions of this package are vulnerable to Improper Authentication via the `ToASCII` and `ToUnicode` functions. An attacker can bypass hostname validation by submitting Punycode-encoded labels that decode to ASCII-only labels, potentially leading to privilege escalation in applications that rely on these functions for security checks.

Note: The fix depends on the Go toolchain in use having Unicode version 16 or later, which is planned for the 1.27 release.

## Remediation

Upgrade `golang.org/x/net/idna` to version 0.54.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Infinite loop

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/http2
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/http2@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/http2@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/http2@v0.40.0

## Overview

golang.org/x/net/http2 is a work-in-progress HTTP/2 implementation for Go.

Affected versions of this package are vulnerable to Infinite loop.
Go Vulnerability Report:

When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a `SETTINGS_MAX_FRAME_SIZE` with a value of 0.

## Remediation

Upgrade `golang.org/x/net/http2` to version 0.53.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Improper Check for Certificate Revocation

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh/knownhosts
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh/knownhosts@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh/knownhosts@v0.46.0

## Overview

Affected versions of this package are vulnerable to Improper Check for Certificate Revocation in the `SignatureKey` verification process. An attacker can bypass revocation enforcement by presenting a certificate with a revoked `SignatureKey`, potentially allowing unauthorized access or trust to be established.

## Remediation

Upgrade `golang.org/x/crypto/ssh/knownhosts` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Incorrect Type Conversion or Cast

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh/agent
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh/agent@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh/agent@v0.46.0

## Overview

Affected versions of this package are vulnerable to Incorrect Type Conversion or Cast due to the improper handling of crafted input data in the `ed25519.PrivateKey` component. An attacker can cause the client to panic by supplying malformed wire bytes.

## Remediation

Upgrade `golang.org/x/crypto/ssh/agent` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Missing Release of Resource after Effective Lifetime

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime through the repeated opening of channels by an authenticated SSH client that are subsequently rejected by the server. An attacker can cause unbounded memory growth and crash the server process by continuously triggering channel rejections.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Improper Authentication

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Improper Authentication due to the `Verify` method not checking the User Presence flag in FIDO/U2F security key types. An attacker can perform unauthorized authentication by generating signatures without requiring physical interaction with the hardware security key.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Incorrect Type Conversion or Cast

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Incorrect Type Conversion or Cast due to an incorrectly placed cast from bytes to int in the `AES-GCM packet decoder` process. An attacker can cause a server-side panic by sending specially crafted inputs.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Uncaught Exception

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Uncaught Exception in the `CertChecker` component when used as a public key callback without setting `IsUserAuthority` or `IsHostAuthority`. An attacker can cause the server to panic by presenting a crafted certificate.

Note:

This is only exploitable if both `IsUserAuthority` and `IsHostAuthority` are not set in the server configuration.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Untrusted Search Path

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: go.opentelemetry.io/otel/sdk/resource
- Introduced through: github.com/argoproj/argo-cd/v3@* and go.opentelemetry.io/otel/sdk/resource@v1.38.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › go.opentelemetry.io/otel/sdk/resource@v1.38.0

## Overview

Affected versions of this package are vulnerable to Untrusted Search Path in resource detection code which executes `ioreg`, when the `PATH` environment variable is modified to include a malicious executable. An attacker can execute arbitrary code within the context of the application by placing a malicious binary earlier in the search path.

Note: This vulnerability is only exploitable on MacOS/Darwin systems.

## Remediation

Upgrade `go.opentelemetry.io/otel/sdk/resource` to version 1.40.0 or higher.

## References

- GitHub Commit

More about this vulnerability

## Untrusted Search Path

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: go.opentelemetry.io/otel/sdk/resource
- Introduced through: github.com/argoproj/argo-cd/v3@* and go.opentelemetry.io/otel/sdk/resource@v1.38.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › go.opentelemetry.io/otel/sdk/resource@v1.38.0

## Overview

Affected versions of this package are vulnerable to Untrusted Search Path through the `hostIDReaderBSD.read` function in `sdk/resource/host_id.go`. An attacker can execute a malicious `kenv` binary by placing it earlier in `$PATH` and triggering host ID detection on BSD or Solaris systems when `/etc/hostid` is absent. When an application initializes OpenTelemetry resource detection under those conditions, it runs the attacker-controlled command in the application's context, allowing local code execution and compromising the process running the Go application.

## Remediation

Upgrade `go.opentelemetry.io/otel/sdk/resource` to version 1.43.0 or higher.

## References

- GitHub Commit
- GitHub Release
- Maintainer's Advisory

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

high severity
Exploit: Proof of Concept

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: go.opentelemetry.io/otel/propagation
- Introduced through: github.com/argoproj/argo-cd/v3@* and go.opentelemetry.io/otel/propagation@v1.38.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › go.opentelemetry.io/otel/propagation@v1.38.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the `baggage` header extraction process. An attacker can cause excessive CPU and memory allocations by sending numerous `baggage` header lines, even if each individual value remains within the allowed size limit.

## Remediation

Upgrade `go.opentelemetry.io/otel/propagation` to version 1.41.0 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

high severity
Exploit: Proof of Concept

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: go.opentelemetry.io/otel/internal/global
- Introduced through: github.com/argoproj/argo-cd/v3@* and go.opentelemetry.io/otel/internal/global@v1.38.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › go.opentelemetry.io/otel/internal/global@v1.38.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the `baggage` header extraction process. An attacker can cause excessive CPU and memory allocations by sending numerous `baggage` header lines, even if each individual value remains within the allowed size limit.

## Remediation

Upgrade `go.opentelemetry.io/otel/internal/global` to version 1.41.0 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/helm/v3 › /usr/local/bin/helm
- Package Manager: golang
- Vulnerable module: github.com/moby/spdystream/spdy
- Introduced through: helm.sh/helm/v3@* and github.com/moby/spdystream/spdy@v0.5.0

### Detailed paths

- Introduced through: helm.sh/helm/v3@* › github.com/moby/spdystream/spdy@v0.5.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to the lack of validation on attacker-controlled counts and lengths in the SPDY/3 frame parser. An attacker can exhaust process memory and cause an out-of-memory crash by sending a single crafted control frame with compressed header blocks that decompress into large allocation sizes.

## Remediation

Upgrade `github.com/moby/spdystream/spdy` to version 0.5.1 or higher.

## References

- GitHub Advisory
- GitHub Commit
- GitHub Release

More about this vulnerability

## Uncaught Exception

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-jose/go-jose/v4
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-jose/go-jose/v4@v4.1.2

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-jose/go-jose/v4@v4.1.2

## Overview

Affected versions of this package are vulnerable to Uncaught Exception in the `cipher.KeyUnwrap` function when decrypting a JSON Web Encryption (JWE) object with a key wrapping algorithm (ending in 'KW', except for 'A128GCMKW', 'A192GCMKW', and 'A256GCMKW') and the `encrypted_key` field is empty. An attacker can cause a panic and disrupt service by submitting a crafted JWE object with an empty `encrypted_key` field or by directly invoking `cipher.KeyUnwrap` with a ciphertext parameter less than 16 bytes long.

Note:

This is only exploitable if the list of accepted key algorithms includes key wrapping algorithms.

## Workaround

This vulnerability can be mitigated by prevalidating JWE objects to ensure the `encrypted_key` field is nonempty, or by excluding key wrapping algorithms from the list of accepted key algorithms.

## Remediation

Upgrade `github.com/go-jose/go-jose/v4` to version 4.1.4 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Insufficiently Protected Credentials

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/transport/http
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/transport/http@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/transport/http@v5.14.0

## Overview

Affected versions of this package are vulnerable to Insufficiently Protected Credentials in the `advertisedReferences()` function. The headers - including Authorization headers - from an initial `/info/refs` request are forwarded to redirect targets. An attacker can obtain authentication credentials by controlling a redirect target, and those credentials may be reused on other endpoints or attempted against other repositories owned by the victim. This is only exploitable if the client interacts with untrusted or misconfigured remote servers, or uses HTTP (not HTTPS) connections.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/transport/http` to version 5.18.0 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Incorrect Behavior Order: Validate Before Canonicalize

high severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/object
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/object@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/object@v5.14.0

## Overview

Affected versions of this package are vulnerable to Incorrect Behavior Order: Validate Before Canonicalize in the parsing of Git objects with malformed or ambiguous `commit` or `tag` objects. An attacker can cause inconsistent interpretation of object metadata or signature validation by introducing specially crafted objects that are parsed differently than by upstream Git, potentially leading to the acceptance of commits with misleading or unintended metadata.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/object` to version 5.19.0 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Cross-site Scripting (XSS)

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/html@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/html@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) in the `inBodyEndTagOther()` function, when rendering sanitized HTML. An attacker can cause the execution of scripts in the context of the affected application by providing malicious HTML input containing unmatched tags.

## Details

Cross-site scripting (or XSS) is a code vulnerability that occurs when an attacker “injects” a malicious script into an otherwise trusted website. The injected script gets downloaded and executed by the end user’s browser when the user interacts with the compromised website.

This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, `<` can be coded as `&lt`; and `>` can be coded as `&gt`; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses `<` and `>` as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

### Types of attacks

There are a few methods by which XSS can be manipulated:

Type | Origin | Description
--- | --- | ---
Stored | Server | The malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
Reflected | Server | The attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
DOM-based | Client | The attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
Mutated |  | The attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.

### Affected environments

The following environments are susceptible to an XSS attack:

- Web servers
- Application servers
- Web application environments

### How to prevent

This section describes the top best practices designed to specifically protect your code:

- Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
- Convert special characters such as `?`, `&`, `/`, `<`, `>` and spaces to their respective HTML or URL encoded equivalents.
- Give users the option to disable client-side scripts.
- Redirect invalid requests.
- Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
- Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
- Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.55.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Cross-site Scripting (XSS)

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/html@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/html@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the `readStartTag()` function in the `Tokenizer`. An attacker can cause the execution of scripts in the context of the affected application by supplying malicious HTML with duplicate attributes.

## Details

Cross-site scripting (or XSS) is a code vulnerability that occurs when an attacker “injects” a malicious script into an otherwise trusted website. The injected script gets downloaded and executed by the end user’s browser when the user interacts with the compromised website.

This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, `<` can be coded as `&lt`; and `>` can be coded as `&gt`; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses `<` and `>` as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

### Types of attacks

There are a few methods by which XSS can be manipulated:

Type | Origin | Description
--- | --- | ---
Stored | Server | The malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
Reflected | Server | The attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
DOM-based | Client | The attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
Mutated |  | The attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.

### Affected environments

The following environments are susceptible to an XSS attack:

- Web servers
- Application servers
- Web application environments

### How to prevent

This section describes the top best practices designed to specifically protect your code:

- Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
- Convert special characters such as `?`, `&`, `/`, `<`, `>` and spaces to their respective HTML or URL encoded equivalents.
- Give users the option to disable client-side scripts.
- Redirect invalid requests.
- Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
- Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
- Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.55.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Cross-site Scripting (XSS)

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/html@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/html@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the `childTextNodesAreLiteral()` function in `render.go. An attacker can cause the execution of scripts in the context of the affected application by providing malicious HTML input containing fostered elements that are outside their parent namespace.

## Details

Cross-site scripting (or XSS) is a code vulnerability that occurs when an attacker “injects” a malicious script into an otherwise trusted website. The injected script gets downloaded and executed by the end user’s browser when the user interacts with the compromised website.

This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, `<` can be coded as `&lt`; and `>` can be coded as `&gt`; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses `<` and `>` as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

### Types of attacks

There are a few methods by which XSS can be manipulated:

Type | Origin | Description
--- | --- | ---
Stored | Server | The malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
Reflected | Server | The attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
DOM-based | Client | The attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
Mutated |  | The attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.

### Affected environments

The following environments are susceptible to an XSS attack:

- Web servers
- Application servers
- Web application environments

### How to prevent

This section describes the top best practices designed to specifically protect your code:

- Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
- Convert special characters such as `?`, `&`, `/`, `<`, `>` and spaces to their respective HTML or URL encoded equivalents.
- Give users the option to disable client-side scripts.
- Redirect invalid requests.
- Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
- Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
- Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.55.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Cross-site Scripting (XSS)

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/html@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/html@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the `writeQuoted()` function, which does not properly handle `>` characters in DOCTYPE data. An attacker can cause the execution of scripts in the context of the affected application by providing malicious HTML input that contains unescaped `>`s.

## Details

Cross-site scripting (or XSS) is a code vulnerability that occurs when an attacker “injects” a malicious script into an otherwise trusted website. The injected script gets downloaded and executed by the end user’s browser when the user interacts with the compromised website.

This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, `<` can be coded as `&lt`; and `>` can be coded as `&gt`; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses `<` and `>` as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

### Types of attacks

There are a few methods by which XSS can be manipulated:

Type | Origin | Description
--- | --- | ---
Stored | Server | The malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
Reflected | Server | The attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
DOM-based | Client | The attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
Mutated |  | The attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.

### Affected environments

The following environments are susceptible to an XSS attack:

- Web servers
- Application servers
- Web application environments

### How to prevent

This section describes the top best practices designed to specifically protect your code:

- Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
- Convert special characters such as `?`, `&`, `/`, `<`, `>` and spaces to their respective HTML or URL encoded equivalents.
- Give users the option to disable client-side scripts.
- Redirect invalid requests.
- Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
- Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
- Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.55.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Inefficient Algorithmic Complexity

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/net/html@v0.47.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/net/html@v0.47.0
- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity in `parse.go`, when checking attributes iteratively. An attacker can cause excessive CPU consumption by providing malicious HTML input.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.55.0 or higher.

## References

- GitHub Commit
- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Inefficient Algorithmic Complexity

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/helm/v3 › /usr/local/bin/helm
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: helm.sh/helm/v3@* and golang.org/x/net/html@v0.40.0

### Detailed paths

- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the `html.Parse` function due to quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.45.0 or higher.

## References

- GitHub Issue
- Go Advisory
- Go Commit
- Google Groups Forum

More about this vulnerability

## Infinite loop

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/helm/v3 › /usr/local/bin/helm
- Package Manager: golang
- Vulnerable module: golang.org/x/net/html
- Introduced through: helm.sh/helm/v3@* and golang.org/x/net/html@v0.40.0

### Detailed paths

- Introduced through: helm.sh/helm/v3@* › golang.org/x/net/html@v0.40.0

## Overview

golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

Affected versions of this package are vulnerable to Infinite loop via the `html.Parse` function. An attacker can cause resource exhaustion and disrupt service availability by submitting specially crafted HTML input that triggers an infinite parsing loop.

## Remediation

Upgrade `golang.org/x/net/html` to version 0.45.0 or higher.

## References

- GitHub Issue
- Go Advisory
- Go Commit
- Google Groups Forum

More about this vulnerability

## Improper Check for Dropped Privileges

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh/agent
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh/agent@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh/agent@v0.46.0

## Overview

Affected versions of this package are vulnerable to Improper Check for Dropped Privileges due to the omission of constraint extensions such as `restrict-destination-v00@openssh.com` when adding a key to a remote agent. An attacker can bypass intended key usage restrictions by forwarding keys without the associated constraints, enabling unrestricted use of the key on the remote host.

## Remediation

Upgrade `golang.org/x/crypto/ssh/agent` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Missing Authorization

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh/agent
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh/agent@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh/agent@v0.46.0

## Overview

Affected versions of this package are vulnerable to Missing Authorization due to the `NewKeyring` function not enforcing the `ConfirmBeforeUse` constraint. An attacker can perform unauthorized signing operations by adding keys with constraints that are silently ignored.

## Remediation

Upgrade `golang.org/x/crypto/ssh/agent` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the public key parsers. An attacker can exhaust CPU resources by submitting crafted RSA or DSA public keys with excessively large parameters during signature verification. This can be triggered by unauthenticated clients during public key authentication.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Integer Overflow or Wraparound

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Integer Overflow or Wraparound in the payload size calculation within the `Write` process. An attacker can cause the process to enter an infinite loop and exhaust system resources by sending a single write operation with data larger than 4GB.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Missing Release of Resource after Effective Lifetime

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime through the handling of unsolicited global request responses, which can fill an internal buffer and block the connection's read loop. An attacker can cause a resource leak and prevent the release of blocked goroutines by sending unexpected responses.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Incorrect Authorization

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Incorrect Authorization. When an SSH server authentication callback returned PartialSuccessError with non-nil Permissions, those permissions were silently discarded, potentially dropping certificate restrictions such as force-command after a second factor succeeded. Returning non-nil Permissions with PartialSuccessError now results in a connection error.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Incorrect Authorization

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: golang.org/x/crypto/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and golang.org/x/crypto/ssh@v0.46.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › golang.org/x/crypto/ssh@v0.46.0

## Overview

golang.org/x/crypto/ssh is a SSH client and server

Affected versions of this package are vulnerable to Incorrect Authorization due to improper enforcement of permissions in the `VerifiedPublicKeyCallback` process. An attacker can bypass source-address validation by passing a callback type other than public key.

## Remediation

Upgrade `golang.org/x/crypto/ssh` to version 0.52.0 or higher.

## References

- Go Advisory
- Go Commit
- Go Issue
- Google Groups Forum

More about this vulnerability

## Improper Validation of Specified Type of Input

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/vmihailenco/msgpack/v5
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/vmihailenco/msgpack/v5@v5.4.1

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/vmihailenco/msgpack/v5@v5.4.1

## Overview

Affected versions of this package are vulnerable to Improper Validation of Specified Type of Input in the calls plugin when handling websocket messages containing malformed msgpack frames. An attacker can cause the server to consume excessive memory and crash by sending specially crafted websocket requests.

## Remediation

There is no fixed version for `github.com/vmihailenco/msgpack/v5`.

## References

- GitHub Commit
- Mattermost Security Updates

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Module: github.com/r3labs/diff/v3
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/r3labs/diff/v3@v3.0.2

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/r3labs/diff/v3@v3.0.2

MPL-2.0 license

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Module: github.com/hashicorp/go-version
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/hashicorp/go-version@v1.7.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/hashicorp/go-version@v1.7.0

MPL-2.0 license

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Module: github.com/hashicorp/go-retryablehttp
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/hashicorp/go-retryablehttp@v0.7.8

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/hashicorp/go-retryablehttp@v0.7.8

MPL-2.0 license

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/helm/v3 › /usr/local/bin/helm
- Package Manager: golang
- Module: github.com/hashicorp/go-multierror
- Introduced through: helm.sh/helm/v3@* and github.com/hashicorp/go-multierror@v1.1.1

### Detailed paths

- Introduced through: helm.sh/helm/v3@* › github.com/hashicorp/go-multierror@v1.1.1

MPL-2.0 license

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Module: github.com/hashicorp/go-cleanhttp
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/hashicorp/go-cleanhttp@v0.5.2

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/hashicorp/go-cleanhttp@v0.5.2

MPL-2.0 license

More about this vulnerability

## MPL-2.0 license

medium severity

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Module: github.com/gosimple/slug
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/gosimple/slug@v1.15.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/gosimple/slug@v1.15.0

MPL-2.0 license

More about this vulnerability

## Directory Traversal

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/storage/filesystem/dotgit
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/storage/filesystem/dotgit@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/storage/filesystem/dotgit@v5.14.0

## Overview

Affected versions of this package are vulnerable to Directory Traversal due to improper path validation in the repository checkout process. An attacker can modify files outside the intended target directory, including `.git` directories, by supplying a maliciously crafted repository payload. This is only exploitable if the repository is cloned or checked out from untrusted sources and the `.git` directory is stored within the same filesystem as the worktree, particularly when submodules are present.

## Details

A Directory Traversal attack (also known as path traversal) aims to access files and directories that are stored outside the intended folder. By manipulating files with "dot-dot-slash (../)" sequences and its variations, or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration, and other critical system files.

Directory Traversal vulnerabilities can be generally divided into two types:

- Information Disclosure: Allows the attacker to gain information about the folder structure or read the contents of sensitive files on the system.

`st` is a module for serving static files on web pages, and contains a vulnerability of this type. In our example, we will serve files from the `public` route.

If an attacker requests the following URL from our server, it will in turn leak the sensitive private key of the root user.

    curl http://localhost:8080/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/root/.ssh/id_rsa

Note `%2e` is the URL encoded version of `.` (dot).

- Writing arbitrary files: Allows the attacker to create or replace existing files. This type of vulnerability is also known as `Zip-Slip`.

One way to achieve this is by using a malicious `zip` archive that holds path traversal filenames. When each filename in the zip archive gets concatenated to the target extraction folder, without validation, the final path ends up outside of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.

The following is an example of a `zip` archive with one benign file and one malicious file. Extracting the malicious file will result in traversing out of the target folder, ending up in `/root/.ssh/` overwriting the `authorized_keys` file:

    2018-04-15 22:04:29 .....           19           19  good.txt
            2018-04-15 22:04:42 .....           20           20  ../../../../../../root/.ssh/authorized_keys

## Remediation

Upgrade `github.com/go-git/go-git/v5/storage/filesystem/dotgit` to version 5.19.1, 6.0.0-alpha.4 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Improper Validation of Integrity Check Value

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/storage/filesystem
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/storage/filesystem@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/storage/filesystem@v5.14.0

## Overview

Affected versions of this package are vulnerable to Improper Validation of Integrity Check Value for `.idx` and `.pack` files. An attacker can cause the application to consume corrupted files, leading to unexpected errors, due to checksums not being checked in the `loadIdxFile()` function.

## Workaround

This vulnerability can be mitigated by running 'git fsck' from the git CLI to check for data corruption on a given repository.

## Remediation

Upgrade `github.com/go-git/go-git/v5/storage/filesystem` to version 5.16.5 or higher.

## References

- GitHub Commit
- GitHub Release

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/format/packfile
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/format/packfile@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/format/packfile@v5.14.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the parsing of maliciously crafted Git repository data, such as `.pack`, `.idx`, or loose objects. An attacker can cause the application to panic by providing a payload that exceeds the declared size of a slice for `isCopyFromDelta()`, or consume excessive resources by sending an unlimited stream of calls to `isCopyFromDelta()` or a stream of calls with excessively large `targetSz` values (i.e. amplification).

Note: This is only exploitable if the attacker can alter read-only files in the local repository's `.git/objects/pack/` directory or if the user interacts with a malicious remote server.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/format/packfile` to version 5.19.1 or higher.

## References

- GitHub Advisory
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/format/index
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/format/index@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/format/index@v5.14.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the handling of `.idx` files. An attacker with write access to the local repository's `.git` directory can exhaust system memory by introducing a maliciously crafted `.idx` file into the `.git` directory.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/format/index` to version 5.17.1 or higher.

## References

- GitHub Advisory
- GitHub Commit
- GitHub Commit

More about this vulnerability

## Improper Validation of Array Index

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/format/index
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/format/index@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/format/index@v5.14.0

## Overview

Affected versions of this package are vulnerable to Improper Validation of Array Index through improper validation in the index decoding for version 4 files. An attacker with write access to the `.git` directory to modify or inject the index file can cause a panic and terminate the process by supplying a maliciously crafted `.git/index` file that triggers an out-of-bounds slice operation during index parsing.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/format/index` to version 5.17.1 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

medium severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/format/idxfile
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/format/idxfile@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/format/idxfile@v5.14.0

## Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the parsing of maliciously crafted Git repository data, such as `.pack`, `.idx`, or loose objects. An attacker can cause the application to panic by providing a payload that exceeds the declared size of a slice for `isCopyFromDelta()`, or consume excessive resources by sending an unlimited stream of calls to `isCopyFromDelta()` or a stream of calls with excessively large `targetSz` values (i.e. amplification).

Note: This is only exploitable if the attacker can alter read-only files in the local repository's `.git/objects/pack/` directory or if the user interacts with a malicious remote server.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/format/idxfile` to version 5.19.1 or higher.

## References

- GitHub Advisory
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit
- GitHub Commit

More about this vulnerability

## Improper Removal of Sensitive Information Before Storage or Transfer

medium severity
Exploit: Proof of Concept

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/argoproj/gitops-engine/pkg/diff
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20260512161450-ff8d2f5207dc

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20260512161450-ff8d2f5207dc

## Overview

Affected versions of this package are vulnerable to Improper Removal of Sensitive Information Before Storage or Transfer in the `HideSecretData()` function that fails to mask `predictedLive` argument for `--server-side-diff` command. An attacker can extract last-applied-configuration which may contain a JSON-serialized Secret manifest with sensitive values.

Note:

`github.com/argoproj/gitops-engine` module migrated to `github.com/argoproj/argo-cd/gitops-engine`.

## Remediation

A fix was pushed into the `master` branch but not yet published.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability

## Allocation of Resources Without Limits or Throttling

low severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argocd › Dockerfile
- Package Manager: ubuntu:25.04
- Vulnerable module: glibc/libc-bin
- Introduced through: docker-image|quay.io/argoproj/argocd@v3.2.12 and glibc/libc-bin@2.41-6ubuntu1.2

### Detailed paths

- Introduced through: docker-image|quay.io/argoproj/argocd@v3.2.12 › glibc/libc-bin@2.41-6ubuntu1.2
- Introduced through: docker-image|quay.io/argoproj/argocd@v3.2.12 › glibc/libc6@2.41-6ubuntu1.2

## NVD Description

Note: Versions mentioned in the description apply only to the upstream `glibc` package and not the `glibc` package as distributed by `Ubuntu`. See `How to fix?` for `Ubuntu:25.04` relevant fixed versions and status.

sha256crypt and sha512crypt through 0.6 allow attackers to cause a denial of service (CPU consumption) because the algorithm's runtime is proportional to the square of the length of the password.

## Remediation

There is no fixed version for `Ubuntu:25.04` `glibc`.

## References

- http://people.ubuntu.com/~ubuntu-security/cve/CVE-2016-20013
- https://akkadia.org/drepper/SHA-crypt.txt
- https://pthree.org/2018/05/23/do-not-use-sha256crypt-sha512crypt-theyre-dangerous/
- https://twitter.com/solardiz/status/795601240151457793

More about this vulnerability

## Improper Encoding or Escaping of Output

low severity
Exploit: Not Defined

- Manifest file: quay.io/argoproj/argocd:v3.2.12/argoproj/argo-cd/v3 › /usr/local/bin/argocd
- Package Manager: golang
- Vulnerable module: github.com/go-git/go-git/v5/plumbing/transport/ssh
- Introduced through: github.com/argoproj/argo-cd/v3@* and github.com/go-git/go-git/v5/plumbing/transport/ssh@v5.14.0

### Detailed paths

- Introduced through: github.com/argoproj/argo-cd/v3@* › github.com/go-git/go-git/v5/plumbing/transport/ssh@v5.14.0

## Overview

Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output due to improper escaping of single quotes in the SSH transport command construction process. An attacker can inject arbitrary shell tokens by including single quotes in the repository path, potentially leading to unintended command execution on SSH servers that evaluate the exec command through a shell.

## Remediation

Upgrade `github.com/go-git/go-git/v5/plumbing/transport/ssh` to version 5.19.1, 6.0.0-alpha.4 or higher.

## References

- GitHub Advisory
- GitHub Commit

More about this vulnerability