{"id":"GHSA-xrqc-7xgx-c9vh","summary":" RCE via ZipSlip and symbolic links in argoproj/argo-workflows","details":"### Summary\nThe patch deployed against CVE-2025-62156 is ineffective against malicious archives containing symbolic links.\n\n### Details\nThe untar code that handles symbolic links in archives is unsafe. Concretely, the computation of the link's target and the subsequent check are flawed: \nhttps://github.com/argoproj/argo-workflows/blob/5291e0b01f94ba864f96f795bb500f2cfc5ad799/workflow/executor/executor.go#L1034-L1037\n\n### PoC\n1. Create a malicious archive containing two files: a symbolik link with path \"./work/foo\" and target \"/etc\", and a normal text file with path \"./work/foo/hostname\".\n2. Deploy a workflow like the one in https://github.com/argoproj/argo-workflows/security/advisories/GHSA-p84v-gxvw-73pf with the malicious archive mounted at /work/tmp.\n3. Submit the workflow and wait for its execution. \n4. Connect to the corresponding pod and observe that the file \"/etc/hostname\" was altered by the untar operation performed on the malicious archive. The attacker can hence alter arbitrary files in this way. \n\n### Impact\nThe attacker can overwrite the file /var/run/argo/argoexec with a script of their choice, which will be executed at the pod's start.","aliases":["BIT-argo-workflows-2025-66626","CVE-2025-66626","GO-2025-4223"],"modified":"2026-07-17T20:59:12.865448086Z","published":"2025-12-09T17:17:22Z","related":["CVE-2025-66626"],"database_specific":{"nvd_published_at":"2025-12-09T21:16:00Z","cwe_ids":["CWE-23","CWE-59","CWE-78"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2025-12-09T17:17:22Z"},"references":[{"type":"WEB","url":"https://github.com/argoproj/argo-workflows/security/advisories/GHSA-xrqc-7xgx-c9vh"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-66626"},{"type":"WEB","url":"https://github.com/argoproj/argo-workflows/commit/6b92af23f35aed4d4de8b04adcaf19d68f006de1"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-p84v-gxvw-73pf"},{"type":"PACKAGE","url":"https://github.com/argoproj/argo-workflows"},{"type":"WEB","url":"https://github.com/argoproj/argo-workflows/blob/5291e0b01f94ba864f96f795bb500f2cfc5ad799/workflow/executor/executor.go#L1034-L1037"}],"affected":[{"package":{"name":"github.com/argoproj/argo-workflows/v3","ecosystem":"Go","purl":"pkg:golang/github.com/argoproj/argo-workflows/v3"},"ranges":[{"type":"SEMVER","events":[{"introduced":"3.7.0"},{"fixed":"3.7.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/12/GHSA-xrqc-7xgx-c9vh/GHSA-xrqc-7xgx-c9vh.json"}},{"package":{"name":"github.com/argoproj/argo-workflows/v3","ecosystem":"Go","purl":"pkg:golang/github.com/argoproj/argo-workflows/v3"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.6.14"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/12/GHSA-xrqc-7xgx-c9vh/GHSA-xrqc-7xgx-c9vh.json"}},{"package":{"name":"github.com/argoproj/argo-workflows","ecosystem":"Go","purl":"pkg:golang/github.com/argoproj/argo-workflows"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"2.5.3-rc4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/12/GHSA-xrqc-7xgx-c9vh/GHSA-xrqc-7xgx-c9vh.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H"}]}