CVE-2025-47933: Argo CD allows cross-site scripting on repositories page

Published May 28, 2025
·
Updated

Impact 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. Due to the improper filtering of URL protocols in the repository page, an attacker can achieve cross-site scripting with permission to edit the repository.

In ui/src/app/shared/components/urls.ts, the following code exists to parse the repository URL.

https://github.com/argoproj/argo-cd/blob/0ae5882d5ae9fe88efc51f65ca8543fb8c3a0aa1/ui/src/app/shared/components/urls.ts#L14-L26

Since this code doesn't validate the protocol of repository URLs, it's possible to inject javascript: URLs here.

https://github.com/argoproj/argo-cd/blob/0ae5882d5ae9fe88efc51f65ca8543fb8c3a0aa1/ui/src/app/shared/components/repo.tsx#L5-L7

As the return value of this function is used in the href attribute of the a tag, it's possible to achieve cross-site scripting by using javascript: URLs.

Browsers may return the proper hostname for javascript: URLs, allowing exploitation of this vulnerability.

Patches A patch for this vulnerability has been released in the following Argo CD versions: - v3.0.4 - v2.14.13 - v2.13.8

The patch incorporates a way to validate the URL being passed in. Returning null if the validation fails.

Workarounds There are no workarounds other than depending on the browser to filter the URL.

Credits Disclosed by @Ry0taK RyotaK.

For more information Open an issue in the Argo CD issue tracker or discussions Join us on Slack in channel #argo-cd

Other sources

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Prior to versions 2.13.8, 2.14.13, and 3.0.4, an attacker can perform arbitrary actions on behalf of the victim via the API. Due to the improper filtering of URL protocols in the repository page, an attacker can achieve cross-site scripting with permission to edit the repository. This issue has been patched in versions 2.13.8, 2.14.13, and 3.0.4.

MITRE

Affected Software

9 affected componentsFixes available
go/github.com/argoproj/argo-cd/v3<3.0.4
3.0.4
go/github.com/argoproj/argo-cd/v2>=2.14.0-rc1<2.14.13
2.14.13
go/github.com/argoproj/argo-cd/v2>=2.0.0-rc3<2.13.8
2.13.8
go/github.com/argoproj/argo-cd>=1.2.0-rc1<=1.8.7
argoproj Argo CD>=1.2.1<2.13.8
argoproj Argo CD>=2.14.0<2.14.13
argoproj Argo CD>=3.0.0<3.0.4
argoproj Argo CD=1.2.0-rc1
argoproj Argo CD=1.2.0-rc2

Event History

May 28, 2025
Advisory Published
via GitHub·05:36 PM
May 29, 2025
CVE Published
via MITRE·07:30 PM
Data Sourced
via MITRE·07:30 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:15 PM
RemedyAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2025-47933?

CVE-2025-47933 is considered a critical vulnerability due to the potential for arbitrary actions on behalf of victims.

2

How do I fix CVE-2025-47933?

To remediate CVE-2025-47933, upgrade to versions 3.0.4, 2.14.13, or 2.13.8 of Argo CD depending on your currently installed version.

3

What types of attacks can CVE-2025-47933 enable?

CVE-2025-47933 can enable attackers to perform unauthorized operations such as creating, modifying, and deleting Kubernetes resources.

4

Which versions of Argo CD are affected by CVE-2025-47933?

CVE-2025-47933 affects Argo CD versions prior to 3.0.4, 2.14.13, and 2.13.8.

5

Is cross-site scripting possible due to CVE-2025-47933?

Yes, improper filtering of URL protocols allows for cross-site scripting exploits via CVE-2025-47933.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203