CVE-2026-28291: simple-git has Command Execution via Option-Parsing Bypass
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.
Security readout for executives and security teams
Plain-English summary
simple-git, a JavaScript library used to run Git commands, can be tricked into executing arbitrary commands when unsafe Git options are manipulated. The affected range is before 3.32.0. This matters most for systems where user input can influence Git operations.
Executive priority
Treat as a high-priority dependency upgrade where simple-git is reachable from user-controlled workflows, especially build, repository import, or automation services.
Technical view
CVE-2026-28291 is a CWE-78 command execution issue in simple-git/git-js before 3.32.0. Git option variants can bypass the unsafe-operations plugin’s regex blocklist for options such as -u and --upload-pack. The issue is described as an incomplete fix for CVE-2022-25860.
Likely exposure
Exposure is likely in Node.js applications, CI/CD tools, developer portals, or automation that use simple-git and allow untrusted input to shape Git command options or targets.
Exploitation context
The CVE is not listed as KEV, and the bundle provides no evidence of active exploitation. The advisory describes a high-impact path, but the CVSS vector marks attack complexity as high.
Researcher notes
The key research point is parser mismatch: Git accepts many option spellings, while the prior protection used a finite regex blocklist. Sources indicate complete blocklist coverage may be infeasible without matching Git parsing behavior.
Mitigation direction
Upgrade simple-git to version 3.32.0 or later.
Inventory direct and transitive uses of simple-git/git-js.
Avoid passing untrusted input into Git option construction.
Do not rely on regex blocklists for Git option safety.
Check vendor advisories for deployment-specific guidance.
Validation and detection
Check package manifests, lockfiles, and SBOMs for simple-git versions below 3.32.0.
Confirm deployed artifacts match the remediated dependency version.
Review application paths that construct Git options from user input.
Run regression tests around Git automation after upgrading.
Monitor the GitHub advisory and Red Hat entries for status changes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-78: Command execution behavior lookup
Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
9Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.