CVE-2026-102826: simple-git allows command execution through unblocked Git configuration includes
An OS command injection vulnerability in git.clone() allows any application that flows attacker-influenced data into customArgs to execute arbitrary code. simple-git 3.36.0 (current latest on npm) ships without any include.path entry in the blockUnsafeOperationsPlugin denylist. Passing -c include.path=<file> via customArgs loads any local file as a gitconfig. The loaded file can set core.sshCommand (or any otherwise-denied key), and the next remote operation in the same clone executes the attacker’s command.
PR #1167 (merged to main 2026-05-10, not yet released to npm) adds preventConfigBuilder('include.path', 'allowUnsafeInclude') to the denylist. The generated regex /\s*include.path/ closes the plain spelling but does not match the conditional form includeIf.<cond>.path. The variant therefore survives the upcoming release if the regex is not tightened in the same cycle.
This sits in the same denylist class as the prior incomplete-fix chain (CVE-2022-24433, CVE-2022-24066, CVE-2022-25912, CVE-2022-25860, CVE-2026-28291, CVE-2026-28292). include and includeIf are not referenced in any published advisory, in any commit prior to PR #1167, or anywhere in the 3.36.0 source.
References
- github.com/advisories/GHSA-g4wm-2vf7-vfgr
- github.com/steveukx/git-js/commit/98864c678444d9336357c844efa4fd5a7984c0d7
- github.com/steveukx/git-js/pull/1193
- github.com/steveukx/git-js/releases/tag/simple-git@4.0.0
- github.com/steveukx/git-js/security/advisories/GHSA-g4wm-2vf7-vfgr
- nvd.nist.gov/vuln/detail/CVE-2026-102826
Code Behaviors & Features
Detect and mitigate CVE-2026-102826 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 →