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.
Published: 2026-09-29
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Command execution via git option injection
Action: Apply Patch
AI Analysis

Impact

This vulnerability occurs when applications using simple‑git versions older than 4.0.0 supply Git push arguments that use abbreviated long options such as --receive-pack or --exec. The unsafe‑operations plugin attempts to block dangerous options by comparing parsed names with literal spellings, but Git’s handling of unambiguous abbreviations allows these options to be interpreted as valid. An attacker can therefore inject an arbitrary command through the git push operation, causing the underlying git process to execute a command chosen by the attacker. This results in remote command execution within the context of the application, leading to loss of confidentiality, integrity, or availability.

Affected Systems

Affected systems are Node.js applications that include the steveukx git‑js package with a version earlier than 4.0.0. The vulnerability is present in all releases of simple‑git before the 4.0.0 release, regardless of other dependencies. Versions 4.0.0 and later contain the fix.

Risk and Exploitability

The CVSS score of 8.1 indicates high severity. EPSS data is not available, but the vulnerability remains in the public domain and could be exploited by malicious actors that can influence git push arguments to the application. The vulnerability is not listed in the CISA KEV catalog, yet the potential for arbitrary command execution makes it a high‑risk target. Attackers could achieve this by sending crafted push requests to a server that runs an untrusted git server or via a file‑based remote, triggering execution of arbitrary commands on the host machine.

Generated by OpenCVE AI on September 29, 2026 at 22:08 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade simple‑git to version 4.0.0 or later
  • If an upgrade is not feasible, disable the unsafe‑operations plugin or implement custom validation that refuses unknown or abbreviated git options
  • Avoid passing untrusted or arbitrary git options from external sources; only allow a whitelist of safe options

Generated by OpenCVE AI on September 29, 2026 at 22:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA 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)
History

Thu, 08 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Simple-git Project
Simple-git Project simple-git
CPEs cpe:2.3:a:simple-git_project:simple-git:*:*:*:*:*:node.js:*:*
Vendors & Products Simple-git Project
Simple-git Project simple-git

Fri, 02 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 29 Sep 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Steveukx
Steveukx git-js
Vendors & Products Steveukx
Steveukx git-js

Tue, 29 Sep 2026 18:45:00 +0000

Type Values Removed Values Added
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.
Title simple-git: unsafe-operations plugin bypass via git long-option abbreviation (--receive-p/--exe) -> command execution (residual of CVE-2026-28291)
Weaknesses CWE-77
CWE-88
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Simple-git Project Simple-git
Steveukx Git-js
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-02T12:21:16.544Z

Reserved: 2026-09-29T17:25:25.265Z

Link: CVE-2026-102827

cve-icon Vulnrichment

Updated: 2026-10-02T12:21:12.730Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-29T19:17:25.050

Modified: 2026-10-08T20:11:17.640

Link: CVE-2026-102827

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-29T22:30:18Z

Weaknesses
  • CWE-77

    Improper Neutralization of Special Elements used in a Command ('Command Injection')

  • CWE-88

    Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')