A severe cross-site scripting (XSS) vulnerability has been discovered in Argo CD, a widely used GitOps continuous delivery tool for Kubernetes environments. Tracked as CVE-2025-47933, the flaw allows attackers to inject malicious JavaScript and carry out unauthorized actions, including the creation, modification, and deletion of Kubernetes resources.
This vulnerability affects versions ranging from 1.2.0-rc1 up to the patched releases: v3.0.4, v2.14.13, and v2.13.8. With a CVSS score of 9.1, it is classified as critical.
How the Exploit Works
The attack requires permission to edit repository configurations inside Argo CD. Once access is obtained, an attacker can insert javascript:
URLs into repository links. If an administrator or other privileged user clicks the link, the browser executes the injected code in the user’s context.
This action gives the attacker control over Argo CD’s API, allowing them to change Kubernetes resources without proper authorization.
Technical Cause
The vulnerability stems from improper URL validation in Argo CD’s interface. The flaw resides in the file ui/src/app/shared/components/urls.ts
, where repository URLs are handled without verifying their protocol.
When these unvalidated URLs are embedded in HTML anchor tags, they become active XSS vectors. Browsers may interpret them as legitimate links and execute malicious scripts, bypassing normal security checks.
The GitHub advisory explains: “Since this code doesn’t validate the protocol of repository URLs, it’s possible to inject javascript:
URLs.”
Security Impact
This is more than a basic XSS flaw. The injected code can perform full API actions—such as creating or deleting Kubernetes resources—on behalf of the logged-in user. This turns the vulnerability into a tool for total control over cluster environments managed through Argo CD.
Security researcher @Ry0taK, who discovered and reported the flaw, emphasized the urgency of patching.
Risk Summary
Risk Factor | Details |
---|---|
Affected Versions | 1.2.0-rc1 to versions before v3.0.4, v2.14.13, and v2.13.8 |
Impact | Unauthorized API access to create, modify, delete Kubernetes resources |
Exploit Prerequisites | Repository edit permissions and user interaction (click) |
CVSS Score | 9.1 (Critical) |
Mitigation and Patching
The Argo CD team has released patches to fix CVE-2025-47933. Organizations should upgrade to v3.0.4, v2.14.13, or v2.13.8 depending on their setup.
The fix includes proper URL validation, which rejects any invalid or dangerous URL schemes and returns null
when validation fails.
No complete workarounds exist apart from upgrading. The only other mitigation, relying on browser-level filtering, is not considered sufficient.
Best Practices
- Upgrade to a patched Argo CD version immediately.
- Limit access to repository configuration settings.
- Apply strict Content Security Policy (CSP) headers to reduce XSS risks.
- Monitor API usage for unexpected activity.