CVE-2026-59960: @argos-ci/core: CI Branch Name OS Command Injection
(updated )
@argos-ci/core@6.2.0 passes attacker-controlled CI branch/ref strings directly into an execSync() template literal in packages/core/src/ci-environment/git.ts:89. When a CI project has hasRemoteContentAccess: false, the Argos upload flow calls getMergeBaseCommitSha(), which invokes gitFetch() with the unsanitized branch name. Because execSync() passes the command string to /bin/sh -c, shell metacharacters such as $() command substitution are evaluated before git runs, enabling an attacker who can influence the branch name (e.g., via a pull request) to execute arbitrary OS commands on the CI runner. CVSS Base Score: 7.5 (High).
References
- github.com/advisories/GHSA-4x45-gxvp-6283
- github.com/argos-ci/argos-javascript/commit/8355f3af3be3f4fe361d58a688d21535cf672717
- github.com/argos-ci/argos-javascript/releases/tag/@argos-ci/core@6.2.1
- github.com/argos-ci/argos-javascript/security/advisories/GHSA-4x45-gxvp-6283
- nvd.nist.gov/vuln/detail/CVE-2026-59960
Code Behaviors & Features
Detect and mitigate CVE-2026-59960 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →