Skip to content

Commit db80f76

Browse files
1 parent fb97265 commit db80f76

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
"schema_version": "1.4.0",
3+
"id": "GHSA-g88p-r42r-ppp9",
4+
"modified": "2025-09-30T18:01:48Z",
5+
"published": "2025-09-30T18:01:48Z",
6+
"aliases": [
7+
"CVE-2025-55191"
8+
],
9+
"summary": "Repository Credentials Race Condition Crashes Argo CD Server",
10+
"details": "### Summary\n\nA race condition in the repository credentials handler can cause the Argo CD server to panic and crash when concurrent operations are performed on the same repository URL.\n\n### Details\nThe vulnerability is located in numerous repository related handlers in the `util/db/repository_secrets.go` file. For example, in the `secretToRepoCred` function. The issue manifests as a concurrent map access panic:\n\n```\nconcurrent map read and map write\n...\ngoroutine 1104 [running]:\ngithub.com/argoproj/argo-cd/v2/util/db.(*secretsRepositoryBackend).secretToRepoCred(0xc000e50ea8?, 0xc000c65540)\n /go/src/github.com/argoproj/argo-cd/util/db/repository_secrets.go:404 +0x31e\n```\n\nThe race condition occurs due to:\n1. Concurrent repository credential operations (create/update/delete) accessing the same map\n2. Kubernetes informer re-syncs happening simultaneously\n3. Background watchers updating the same secret data\n4. No mutex protection for map access\n\nA valid API token with `repositories` resource permissions (`create`, `update`, or `delete` actions) is required to trigger the race condition.\n\n### Impact\n\nThis vulnerability causes the entire Argo CD server to crash and become unavailable. Attackers can repeatedly and continuously trigger the race condition to maintain a denial-of-service state, disrupting all GitOps operations. Default ArgoCD configuration is vulnerable.\n\nThe affected code was originally introduced in [PR #6103](https://github.com/argoproj/argo-cd/pull/6103) and released in [v2.1.0](https://github.com/argoproj/argo-cd/releases/tag/v2.1.0).\n\nThis data race was addressed by deep-copying the `Secret` objects before reading/writing.\n\n### Credits\n\nThis vulnerability was found, reported and fixed by:\n\n@thevilledev\n\nThe Argo team would like to thank him for his responsible disclosure and constructive communications during the resolve of this issue.",
11+
"severity": [
12+
{
13+
"type": "CVSS_V3",
14+
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
15+
}
16+
],
17+
"affected": [
18+
{
19+
"package": {
20+
"ecosystem": "Go",
21+
"name": "github.com/argoproj/argo-cd/v2"
22+
},
23+
"ranges": [
24+
{
25+
"type": "ECOSYSTEM",
26+
"events": [
27+
{
28+
"introduced": "2.1.0"
29+
},
30+
{
31+
"fixed": "2.14.20"
32+
}
33+
]
34+
}
35+
],
36+
"database_specific": {
37+
"last_known_affected_version_range": "<= 2.14.19"
38+
}
39+
},
40+
{
41+
"package": {
42+
"ecosystem": "Go",
43+
"name": "github.com/argoproj/argo-cd/v3"
44+
},
45+
"ranges": [
46+
{
47+
"type": "ECOSYSTEM",
48+
"events": [
49+
{
50+
"introduced": "3.2.0-rc1"
51+
},
52+
{
53+
"fixed": "3.2.0-rc2"
54+
}
55+
]
56+
}
57+
],
58+
"versions": [
59+
"3.2.0-rc1"
60+
]
61+
},
62+
{
63+
"package": {
64+
"ecosystem": "Go",
65+
"name": "github.com/argoproj/argo-cd/v3"
66+
},
67+
"ranges": [
68+
{
69+
"type": "ECOSYSTEM",
70+
"events": [
71+
{
72+
"introduced": "3.1.0-rc1"
73+
},
74+
{
75+
"fixed": "3.1.8"
76+
}
77+
]
78+
}
79+
],
80+
"database_specific": {
81+
"last_known_affected_version_range": "<= 3.1.7"
82+
}
83+
},
84+
{
85+
"package": {
86+
"ecosystem": "Go",
87+
"name": "github.com/argoproj/argo-cd/v3"
88+
},
89+
"ranges": [
90+
{
91+
"type": "ECOSYSTEM",
92+
"events": [
93+
{
94+
"introduced": "3.0.0-rc1"
95+
},
96+
{
97+
"fixed": "3.0.19"
98+
}
99+
]
100+
}
101+
],
102+
"database_specific": {
103+
"last_known_affected_version_range": "<= 3.0.18"
104+
}
105+
}
106+
],
107+
"references": [
108+
{
109+
"type": "WEB",
110+
"url": "https://github.com/argoproj/argo-cd/security/advisories/GHSA-g88p-r42r-ppp9"
111+
},
112+
{
113+
"type": "WEB",
114+
"url": "https://github.com/argoproj/argo-cd/pull/6103"
115+
},
116+
{
117+
"type": "WEB",
118+
"url": "https://github.com/argoproj/argo-cd/commit/701bc50d01c752cad96185f848088d287a97c7b7"
119+
},
120+
{
121+
"type": "PACKAGE",
122+
"url": "https://github.com/argoproj/argo-cd"
123+
}
124+
],
125+
"database_specific": {
126+
"cwe_ids": [
127+
"CWE-362"
128+
],
129+
"severity": "MODERATE",
130+
"github_reviewed": true,
131+
"github_reviewed_at": "2025-09-30T18:01:48Z",
132+
"nvd_published_at": null
133+
}
134+
}

0 commit comments

Comments
 (0)