A critical Cross-Site Scripting (XSS) vulnerability has been discovered in Argo CD, the popular GitOps continuous delivery tool for Kubernetes environments.
Designated as CVE-2025-47933, this security flaw enables attackers to perform unauthorized actions, including creating, modifying, and deleting Kubernetes resources, through malicious JavaScript injection.
The vulnerability affects a broad range of Argo CD versions, spanning from 1.2.0-rc1 up to the recently patched versions v3.0.4, v2.14.13, and v2.13.8.
With a CVSS base score of 9.1, this critical vulnerability poses significant risks to organizations using GitOps workflows for Kubernetes deployment management.
Critical XSS Flaw in Argo CD
The attack vector requires an attacker to have permissions to edit repository configurations within the Argo CD interface.
Once these permissions are obtained, malicious actors can inject crafted javascript: URLs into repository links.
When legitimate users, particularly administrators, click these seemingly innocent repository links, the embedded malicious scripts execute within their browser context, leveraging their elevated permissions to perform unauthorized API operations.
The vulnerability’s impact extends beyond simple cross-site scripting, as it allows attackers to “perform arbitrary actions on behalf of the victim via the API, such as creating, modifying, and deleting Kubernetes resources”.
This capability transforms a typical XSS attack into a powerful mechanism for compromising entire Kubernetes infrastructures managed through Argo CD.
Technical analysis reveals that the root cause of CVE-2025-47933 lies in improper URL protocol validation within Argo CD’s user interface components.
Specifically, the vulnerability exists in the ui/src/app/shared/components/urls.ts file, where the code fails to properly validate repository URL protocols before processing them.
The vulnerable code section processes repository URLs without adequate sanitization, allowing malicious javascript: schemes to bypass security filters.
As detailed in the GitHub Advisory, “Since this code doesn’t validate the protocol of repository URLs, it’s possible to inject javascript: URLs here”.
The return value from this function is subsequently used in the href attribute of anchor tags ( elements), creating the XSS attack vector.
When browsers process these malicious javascript: URLs, they may return proper hostname information, facilitating successful exploitation.
The vulnerability demonstrates how seemingly minor input validation oversights can lead to severe security compromises in complex distributed systems like Kubernetes orchestration platforms.
Security researcher @Ry0taK, who discovered and responsibly disclosed this vulnerability, emphasizes the critical nature of immediate patching.
Risk FactorsDetailsAffected ProductsArgo CD versions, spanning from 1.2.0-rc1 up to the recently patched versions v3.0.4, v2.14.13, and v2.13.8. ImpactAllows attackers to create, modify, and delete Kubernetes resourcesExploit PrerequisitesPermission to edit repository configurations, Victim interactionCVSS 3.1 Score9.1(Critical)
Mitigations
Argo CD maintainers have released patches addressing CVE-2025-47933 across multiple version branches. Organizations should immediately upgrade to the following patched versions: v3.0.4, v2.14.13, or v2.13.8, depending on their current deployment.
The patches implement proper URL validation mechanisms that return null when validation fails, effectively preventing malicious URL injection.
Unfortunately, no complete workarounds exist besides upgrading to patched versions. The GitHub Advisory notes that the only alternative mitigation relies on “depending on the browser to filter the URL,” which provides insufficient protection.
Organizations using Argo CD should prioritize this security update, implement strict access controls for repository configuration permissions, and consider deploying Content Security Policy (CSP) headers to provide additional XSS protection layers.
Live Credential Theft Attack Unmask & Instant Defense – Free Webinar