CVE-2025-62157
Medium · 6.5CVSS
6.5
EPSS
0.5%
Published
Oct 14, 2025
CISA due date
—
Cloudanix analysis
Workflow software can accidentally write secret storage passwords into its own logs, so anyone allowed to read those logs can steal access to the files the workflows use.
- Exploitation
- Remote Authenticated
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Argo Workflows logs artifact repository credentials in plaintext inside workflow-controller pod logs, allowing any entity with pod log read access in the namespace to retrieve them.
Why it matters to the business
Organizations running Argo Workflows on Kubernetes face risk of unauthorized access to artifact storage, which can lead to data exfiltration, workflow tampering, or supply-chain compromise; the project is widely used for container orchestration so exposure is common across many environments.
How an attack unfolds
An attacker who already possesses permissions to read pod logs in a namespace running vulnerable Argo Workflows retrieves the workflow-controller logs, locates the plaintext credential strings, and re-uses those credentials to access or modify artifacts in the configured repository.
How to fix it
Upgrade argoproj/argo-workflows to version 3.6.12 or 3.7.3; the fix is contained in commit bded09fe4abd37cb98d7fc81b4c14a6f5034e9ab. No workarounds exist.
How to confirm the fix worked
After upgrade, inspect workflow-controller pod logs to confirm absence of plaintext artifact credentials; re-run representative workflows and verify log output contains no sensitive strings.
Typical attack path
- Locate a Kubernetes namespace running Argo Workflows
- Obtain or abuse permissions allowing pod log retrieval
- Read workflow-controller pod logs
- Extract artifact repository credentials from plaintext log entries
- Authenticate to the artifact repository with the stolen credentials
How to detect it
Search Kubernetes pod logs and audit logs for workflow-controller entries that contain credential-like strings; review RBAC and access logs for unexpected pod-log read operations around the time workflows ran.
- workflow-controller
- artifact repository credentials
- plaintext credential strings in pod logs
What your security team should do
- Immediately upgrade all Argo Workflows installations to 3.6.12 or 3.7.3
- Restrict pod log read permissions to the minimum required identities
- Enable log redaction or filtering for credential patterns where supported
- Audit historical logs for any prior credential exposure
The record
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows versions prior to 3.6.12 and versions 3.7.0 through 3.7.2 expose artifact repository credentials in plaintext in workflow-controller pod logs. An attacker with permissions to read pod logs in a namespace running Argo Workflows can read the workflow-controller logs and obtain credentials to the artifact repository. Update to versions 3.6.12 or 3.7.3 to remediate the vulnerability. No known workarounds exist.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/argoproj/argo-workflows | 0 | No fix |
| Go | github.com/argoproj/argo-workflows/v2 | 0 | No fix |
| Go | github.com/argoproj/argo-workflows/v3 | 0 | 3.6.12 |
| Go | github.com/argoproj/argo-workflows/v3 | 3.7.0 | 3.7.3 |
| Bitnami | argo-workflows | 0 | 3.6.12 |
| Chainguard | argo-workflow-cli-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-cli-3.7 | 0 | 3.7.3-r0 |
| Chainguard | argo-workflow-cli-fips-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-controller-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-controller-3.6-compat | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-controller-3.6-compat-fips | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-controller-3.7 | 0 | 3.7.3-r0 |
| Chainguard | argo-workflow-controller-3.7-compat | 0 | 3.7.3-r0 |
| Chainguard | argo-workflow-controller-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflow-controller-fips-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-controller-fips-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflow-executor-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-executor-3.6-compat | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-executor-3.6-compat-fips | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-executor-3.7 | 0 | 3.7.3-r0 |
| Chainguard | argo-workflow-executor-3.7-compat | 0 | 3.7.3-r0 |
| Chainguard | argo-workflow-executor-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflow-executor-fips-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflow-executor-fips-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflows-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflows-3.7 | 0 | 3.7.3-r0 |
| Chainguard | argo-workflows-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflows-fips-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflows-fips-4.0 | 0 | 4.0.2-r0 |
| Chainguard | argo-workflows-known-hosts-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflows-known-hosts-3.7 | 0 | 3.7.3-r0 |
| Chainguard | argo-workflows-known-hosts-fips-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflows-ui-3.6 | 0 | 3.6.12-r0 |
| Chainguard | argo-workflows-ui-3.7 | 0 | 3.7.3-r0 |
| Chainguard | kubeflow-pipelines | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-apiserver | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-cache-deployer | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-cache-deployer-compat | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-cache_server | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-frontend | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-metadata-envoy-config | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-metadata-writer | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-metadata-writer-compat | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-persistence_agent | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-scheduledworkflow | 0 | 2.14.3-r3 |
| Chainguard | kubeflow-pipelines-viewer-crd-controller | 0 | 2.14.3-r3 |
| Wolfi | argo-workflow-cli-3.7 | 0 | 3.7.3-r0 |
| Wolfi | argo-workflow-controller-3.7 | 0 | 3.7.3-r0 |
| Wolfi | argo-workflow-controller-3.7-compat | 0 | 3.7.3-r0 |
| Wolfi | argo-workflow-controller-4.0 | 0 | 4.0.2-r0 |
| Wolfi | argo-workflow-executor-3.7 | 0 | 3.7.3-r0 |
| Wolfi | argo-workflow-executor-3.7-compat | 0 | 3.7.3-r0 |
| Wolfi | argo-workflow-executor-4.0 | 0 | 4.0.2-r0 |
| Wolfi | argo-workflows-3.7 | 0 | 3.7.3-r0 |
| Wolfi | argo-workflows-4.0 | 0 | 4.0.2-r0 |
| Wolfi | argo-workflows-known-hosts-3.7 | 0 | 3.7.3-r0 |
| Wolfi | argo-workflows-ui-3.7 | 0 | 3.7.3-r0 |
| Wolfi | kubeflow-pipelines | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-apiserver | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-cache-deployer | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-cache-deployer-compat | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-cache_server | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-frontend | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-metadata-envoy-config | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-metadata-writer | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-metadata-writer-compat | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-persistence_agent | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-scheduledworkflow | 0 | 2.14.3-r3 |
| Wolfi | kubeflow-pipelines-viewer-crd-controller | 0 | 2.14.3-r3 |
| go | github.com/argoproj/argo-workflows/v3 | 3.7.0 | 3.7.3 |
| openSUSE:Tumbleweed | govulncheck-vulndb | 0 | 0.0.20251105T184115-1.1 |
Related vulnerabilities
- CVE-2026-23960 Argo Workflows is an open source container-native workflow engine for orchestrating… Also affects github.com/argoproj/argo-workflows
- CVE-2025-66626 argoproj/argo-workflows is vulnerable to RCE via ZipSlip and symbolic links Also affects github.com/argoproj/argo-workflows
- CVE-2025-62156 Argo Workflows is an open source container-native workflow engine for orchestrating… Also affects github.com/argoproj/argo-workflows
- GHSA-6rw7-vpxm-498p qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion Also affects argo-workflow-cli-3.6
- CVE-2025-15284 Improper Input Validation vulnerability in qs (parse modules) allows HTTP DoS.This issue… Also affects argo-workflow-cli-3.6
- CVE-2025-68156 Expr is an expression language and expression evaluation for Go. Also affects argo-workflow-cli-3.6
- CVE-2024-51999 Express.js minimalist web framework for node. Also affects argo-workflow-cli-3.6
- GHSA-pj86-cfqh-vqx6 Withdrawn Advisory: express improperly controls modification of query properties Also affects argo-workflow-cli-3.6