{"id":"CVE-2026-42295","aliases":["GHSA-7vf8-2cr6-54mf","BIT-argo-workflows-2026-42295","GO-2026-5235"],"title":"Argo vulnerable to exposure of artifact repository credentials","summary":"Argo vulnerable to exposure of artifact repository credentials","severity":"high","vendor":"argoproj","product":"github.com/argoproj/argo-workflows/v4","ecosystem":"go","affected":["github.com/argoproj/argo-workflows/v4 >= 4.0.0, < 4.0.5"],"patched":["github.com/argoproj/argo-workflows/v4 4.0.5"],"published":"2026-05-04","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:50:46.312822621Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-7vf8-2cr6-54mf","references":[{"url":"https://github.com/argoproj/argo-workflows/security/advisories/GHSA-7vf8-2cr6-54mf"},{"url":"https://github.com/argoproj/argo-workflows/security/advisories/GHSA-c2hv-4pfj-mm2r"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42295"},{"url":"https://github.com/argoproj/argo-workflows/commit/bdd40908580f727c590c8743836e338b04fe4a87"},{"url":"https://github.com/argoproj/argo-workflows"},{"url":"https://github.com/argoproj/argo-workflows/blob/59f1089b9875723ddffd524513e6bd5cb37e5e31/workflow/artifacts/logging/driver.go#L24"},{"url":"https://github.com/argoproj/argo-workflows/releases/tag/v4.0.5"}],"tags":["osv","go"],"epss":0.00357,"epssPercentile":0.2953,"ingestedAt":"2026-07-21T19:04:58.346Z","slug":"CVE-2026-42295","body":"## Overview\n\n### Summary\nThe workflow executor logs all artifact repository credentials (S3 access keys, secret keys, GCS service account keys, Azure account keys, Git passwords, etc.) in plaintext on artifact operation. Any user with read access to workflow pod logs can extract these credentials.\n\n**Note:** This is an incomplete fix of [CVE-2025-62157](https://github.com/argoproj/argo-workflows/security/advisories/GHSA-c2hv-4pfj-mm2r)\n### Details\nThe logging driver passes the entire ArtifactDriver struct to the structured logger, for example:\nhttps://github.com/argoproj/argo-workflows/blob/59f1089b9875723ddffd524513e6bd5cb37e5e31/workflow/artifacts/logging/driver.go#L24\n\nExposed credential fields:\n- S3 (workflow/artifacts/s3/s3.go): AccessKey, SecretKey, SessionToken, ServerSideCustomerKey\n- OSS (workflow/artifacts/oss/oss.go): AccessKey, SecretKey, SecurityToken\n- GCS (workflow/artifacts/gcs/gcs.go): ServiceAccountKey\n\n### PoC\n1. Create template\n```yml\napiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\n  name: cred-leak-test\n  namespace: argo\nspec:\n  entrypoint: main\n  templates:\n  - name: main\n    container:\n      image: alpine:3.13\n      command: [sh, -c]\n      args: [\"echo 'hello' > /tmp/output.txt\"]\n    outputs:\n      artifacts:\n      - name: output\n        path: /tmp/output.txt\n        s3:\n          endpoint: minio:9000\n          insecure: true\n          bucket: my-bucket\n          key: test-output.txt\n          accessKeySecret:\n            name: my-minio-cred\n            key: accesskey\n          secretKeySecret:\n            name: my-minio-cred\n            key: secretkey\n```\n\n2. Then check the logs\n`kubectl -n argo logs \"cred-leak-test\" -c wait`\n<img width=\"1248\" height=\"322\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a5cf6d66-7d67-408d-8583-27d11ecf1507\" />\n\n\n### Impact\nAny user with Kubernetes RBAC permissions to read pod logs in the workflow namespace can extract artifact repository credentials.\n\n## Affected packages\n\n- `github.com/argoproj/argo-workflows/v4 >= 4.0.0, < 4.0.5`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `github.com/argoproj/argo-workflows/v4 4.0.5`","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}