CVE-2024-28175

CVE-2024-28175 is a critical-severity cross-site scripting (XSS) vulnerability in github.com/argoproj/argo-cd/v2 (go), affecting versions >= 2.9.0, < 2.9.8. It is fixed in 2.9.8, 2.10.3, 2.8.12.

Summary

Due to the improper URL protocols filtering of links specified in the link.argocd.argoproj.io annotations in the application summary component, an attacker can achieve cross-site scripting with elevated permissions.

Workarounds

There are no completely-safe workarounds besides upgrading. The safest alternative, if upgrading is not possible, would be to create a Kubernetes admission controller to reject any resources with an annotation starting with link.argocd.argoproj.io or reject the resource if the value use an improper URL protocol. This validation will need to be applied in all clusters managed by ArgoCD.

Mitigations

  1. Avoid clicking external links presented in the UI.
    The link's title is user-configurable. So even if you hover the link, and the tooltip looks safe, the link might be malicious. The only way to be certain that the link is safe is to inspect the page's source.
  2. Carefully limit who has permissions to edit Kubernetes resource manifests (this is configured in RBAC for ArgoCD).
    The external-links are set as annotations on Kubernetes resources. Any persona with write access to resources managed by ArgoCD could be an actor.

References

Documentation for the external links feature

Credits

Disclosed by RyotaK (@Ry0taK)

For more information

Impact

All unpatched versions of Argo CD starting with v1.0.0 are vulnerable to a cross-site scripting (XSS) bug allowing a malicious user to inject a javascript: link in the UI. When clicked by a victim user, the script will execute with the victim's permissions (up to and including admin).

This vulnerability allows an attacker to perform arbitrary actions on behalf of the victim via the API, such as creating, modifying, and deleting Kubernetes resources.

Untrusted input is rendered as active markup in a victim's browser, which can run script in their session. Typical impact: session or credential theft, and actions taken as the user.

CVE-2024-28175 has a CVSS score of 9.0 (Critical). The vector is network-reachable, low privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (2.9.8, 2.10.3, 2.8.12); upgrading removes the vulnerable code path.

Affected versions

github.com/argoproj/argo-cd/v2 (>= 2.9.0, < 2.9.8) github.com/argoproj/argo-cd/v2 (>= 2.10.0, < 2.10.3) github.com/argoproj/argo-cd/v2 (>= 2.0.0, < 2.8.12) github.com/argoproj/argo-cd (>= 1.0.0, <= 1.8.7)

Security releases

github.com/argoproj/argo-cd/v2 → 2.9.8 (go) github.com/argoproj/argo-cd/v2 → 2.10.3 (go) github.com/argoproj/argo-cd/v2 → 2.8.12 (go)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

See it in your environment

Remediation advice

A patch for this vulnerability has been released in the following Argo CD versions:

  • v2.10.3
  • v2.9.8
  • v2.8.12

Frequently Asked Questions

  1. What is CVE-2024-28175? CVE-2024-28175 is a critical-severity cross-site scripting (XSS) vulnerability in github.com/argoproj/argo-cd/v2 (go), affecting versions >= 2.9.0, < 2.9.8. It is fixed in 2.9.8, 2.10.3, 2.8.12. Untrusted input is rendered as active markup in a victim's browser, which can run script in their session.
  2. How severe is CVE-2024-28175? CVE-2024-28175 has a CVSS score of 9.0 (Critical). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which packages are affected by CVE-2024-28175?
    • github.com/argoproj/argo-cd/v2 (go) (versions >= 2.9.0, < 2.9.8)
    • github.com/argoproj/argo-cd (go) (versions >= 1.0.0, <= 1.8.7)
  4. Is there a fix for CVE-2024-28175? Yes. CVE-2024-28175 is fixed in 2.9.8, 2.10.3, 2.8.12. Upgrade to this version or later.
  5. Is CVE-2024-28175 exploitable, and should I be worried? Whether CVE-2024-28175 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2024-28175 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2024-28175?
    • Upgrade github.com/argoproj/argo-cd/v2 to 2.9.8 or later
    • Upgrade github.com/argoproj/argo-cd/v2 to 2.10.3 or later
    • Upgrade github.com/argoproj/argo-cd/v2 to 2.8.12 or later

Other vulnerabilities in github.com/argoproj/argo-cd/v2

CVE-2026-45738CVE-2025-59538CVE-2025-59537CVE-2025-59531CVE-2025-55191

Stop the waste.
Protect your environment with Kodem.