CVE-2026-102827 · GHSA-858h-whjf-mvg5
simple-git: unsafe-operations plugin bypass via git long-option abbreviation (--receive-p/--exe) -> command execution (residual of CVE-2026-28291)
- Risk score
- 80/100
- CVSS
- 9.8 v3.1
- Exploit chance (30 days)
- 0.4%
- Published
- 29 Sep 2026
Open in the live forecast Today's forecast
What to know
- What it is
- simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin compares parsed option names with literal dangerous option spellings while Git accepts unambiguous long-option abbreviati…
- Affected
- simple-git (npm) <= 3.36.0
- Fix
- Upgrade simple-git to 4.0.0 or later.
- Exploitation
- Public proof of concept
Story map
At a glance
simple-git: Red, act today. simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin compares parsed option names with literal dangerous option spellings while Git accepts unambiguous long-option abbreviati…
The flaws
- CVE-2026-102827: Unsafe-operations plugin bypass via git long-option abbreviation (--receive-p/--exe) -> command execution (residual of CVE-2026-28291) (CVSS 9.8 · EPSS 0%)
- CVE-2026-102828: Simple-git unsafe-operation guard does not block trailer command configuration (CVSS 9.8 · EPSS 0%)
- CVE-2026-102826: Simple-git allows command execution through unblocked Git configuration includes (CVSS 8.1 · EPSS 0%)
The fix
Upgrade simple-git: 4.0.0 · 4.0.1 or later on your release line
Who is exposed: simple-git (npm) <= 3.36.0
Where it stands
- Public proof of concept
Connects to
- Same weakness: Command injection (CWE-77). 96 other warnings in 30 days
Why it is Red
- CVSS 9.8 critical
- Public exploit or proof of concept referenced
- Remotely exploitable without logging in
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| simple-git | npm | <= 3.36.0 | 4.0.0 |
References
- https://github.com/advisories/GHSA-858h-whjf-mvg5
- https://github.com/steveukx/git-js/security/advisories/GHSA-858h-whjf-mvg5
- https://nvd.nist.gov/vuln/detail/CVE-2026-102827
- https://github.com/steveukx/git-js/pull/1193
- https://github.com/steveukx/git-js/commit/98864c678444d9336357c844efa4fd5a7984c0d7
- https://github.com/steveukx/git-js/releases/tag/simple-git@4.0.0
- https://github.com/advisories/GHSA-858h-whjf-mvg5
Original description
simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin compares parsed option names with literal dangerous option spellings while Git accepts unambiguous long-option abbreviations. Attacker-influenced push arguments such as abbreviated --receive-pack or --exec forms can therefore bypass detectVulnerableFlags, reach git push against a local or file remote or an attacker-influenced receive-pack target, and cause Git to invoke an attacker-selected command in consumers that expose those arguments. The clone-side abbreviation handling does not protect the push path. This issue is fixed in 4.0.0.
Last activity 29 Sep 2026. Patch Forecast updates every hour.