Critical severity · published Sep 29, 2026
CVE-2026-102829
simple-git: `VISUAL` editor environment variable is omitted from unsafe editor detection
9.2
CVSS
0.3%
EPSS
No
On KEV
Description
simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 2.0.1 of the argv-parser package, parseEnv omits VISUAL from GitEnvKeys, so prepareEnv drops the value before vulnerabilityCheck can classify it as allowUnsafeEditor. A consuming application that forwards attacker-influenced environment values can therefore allow Git to invoke an attacker-selected editor during operations such as commit amendment or interactive rebase when no higher-priority editor setting overrides VISUAL and Git's terminal prerequisites are met. The executable runs with the privileges of the Node.js process. This issue is fixed in argv-parser 2.0.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 20% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
GI
git-js · steveukx
< 2.0.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-102829
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-102829
x_refsource_CONFIRM
https://github.com/steveukx/git-js/security/advisories/GHSA-v5rq-49vh-5v5c
x_refsource_MISC
https://github.com/steveukx/git-js/pull/1201
x_refsource_MISC
https://github.com/steveukx/git-js/commit/68874c239f0c7a87f4a68c3d2c4a0d7c75bb27f4
x_refsource_MISC
https://github.com/steveukx/git-js/releases/tag/@simple-git/argv-parser@2.0.1
More from git-js
9.8
CVE-2026-102828
simple-git unsafe-operation guard does not block trailer command configuration
9.8
CVE-2026-102827
simple-git: unsafe-operations plugin bypass via git long-option abbreviation (--receive-p/--exe) -> command execution (residual of CVE-2026-28291)
8.1
CVE-2026-102826
simple-git allows command execution through unblocked Git configuration includes
8.1
CVE-2026-28291
simple-git has Command Execution via Option-Parsing Bypass
