CVE-2026-28291: steveukx git-js · OS Command Injection
Affects steveukx git-jsSource CVE Database V5
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.1 High : upgrade to 3.32.0 soon.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.7% chance of exploitation in 30 days – higher than 55% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 3.32.0
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 13 Apr 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade git-js and simple-git to 3.32.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| steveukxgit-js | Affected
| Fixed in
|
npmsimple-gitpkg:npm/simple-gitOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade simple-git (git-js) to version 3.32.0 or later, where this vulnerability is fixed. Patch status is confirmed by the vendor advisory. No other mitigations are indicated as effective due to the complexity of Git's option parsing and the nature of the vulnerability.
Description
simple-git enables running native Git commands from JavaScript. Versions up to and including 3.31.1 allow execution of arbitrary commands through Git option manipulation, bypassing safety checks meant to block dangerous options like -u and --upload-pack. The flaw stems from an incomplete fix for CVE-2022-25860, as Git's flexible option parsing allows numerous character combinations (e.g., -vu, -4u, -nu) to circumvent the regular-expression-based blocklist in the unsafe operations plugin. Due to the virtually infinite number of valid option variants that Git accepts, a complete blocklist-based mitigation may be infeasible without fully emulating Git's option parsing behavior. This issue has been fixed in version 3.32.0.
References
- github.com/steveukx/git-js/security/advisories/GHSA-jcxm-m3jx-f287 (opens in a new tab)
- github.com/steveukx/git-js/commit/1effd8e5012a5da05a9776512fac3e39b11f2d2d (opens in a new tab)
- github.com/steveukx/git-js/blob/789c13ebabcf18ebe0b3a0c88ebb4037dede42e3/simple-git/src/lib/plugins/block-unsafe-operations-plugin.ts (opens in a new tab)
- github.com/steveukx/git-js/releases/tag/simple-git%403.32.0 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2022-25860 (opens in a new tab)
- access.redhat.com/security/cve/CVE-2026-28291 (opens in a new tab)
- bugzilla.redhat.com/show_bug.cgi?id=2457930 (opens in a new tab)
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-28291.json (opens in a new tab)