Skip to content
Heist/ feed
Back to feed
Critical

simple-git unsafe-operation guard does not block trailer command configuration

Type: advisorySources: OSV

simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. From 3.15.0 until 4.0.1, the default blockUnsafeOperationsPlugin does not classify trailer..cmd as unsafe configuration. An application that passes attacker-controlled values through SimpleGitOptions.config or inline -c arguments can therefore allow Git to invoke an attacker-selected shell command when git interpret-trailers processes the configured trailer. The command executes with the operating-system identity and permissions of the Node.js process. This issue is fixed in 4.0.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-102828
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 07:08 UTC · Revision 1

Source evidence

simple-git unsafe-operation guard does not block trailer command configuration

core-osv · Original source

Published 29 Sept 2026, 18:43 UTC

simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. From 3.15.0 until 4.0.1, the default blockUnsafeOperationsPlugin does not classify trailer..cmd as unsafe configuration. An application that passes attacker-controlled values through SimpleGitOptions.config or inline -c arguments can therefore allow Git to invoke an attacker-selected shell command when git interpret-trailers processes the configured trailer. The command executes with the operating-system identity and permissions of the Node.js process. This issue is fixed in 4.0.1.

osv:CVE-2026-102828
Complete source record
{
  "id": "d8b25ff23ae5bd72bdf934149ac5b84565fa61abd6a3e39892521f1e4ec2a56a",
  "url": "https://osv.dev/vulnerability/CVE-2026-102828",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "simple-git unsafe-operation guard does not block trailer command configuration",
    "summary": "simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. From 3.15.0 until 4.0.1, the default blockUnsafeOperationsPlugin does not classify trailer..cmd as unsafe configuration. An application that passes attacker-controlled values through SimpleGitOptions.config or inline -c arguments can therefore allow Git to invoke an attacker-selected shell command when git interpret-trailers processes the configured trailer. The command executes with the operating-system identity and permissions of the Node.js process. This issue is fixed in 4.0.1.",
    "evidence": "osv:CVE-2026-102828",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-102828",
      "aliases": [
        "CVE-2026-102828",
        "GHSA-x6jw-m9v5-85vh"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/steveukx/git-js",
              "type": "GIT",
              "events": [
                {
                  "introduced": "e1d66b6469d123d5629383ddc5d089294cc93ea2"
                },
                {
                  "fixed": "8430817f552ffb7cb52072b2f87def14dcfc0a4b"
                },
                {
                  "fixed": "d762810c13b331ff1e5eb24c0b434646d2a8d1b3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:simple-git_project:simple-git:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "3.15.0"
                      },
                      {
                        "fixed": "4.0.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d762810c13b331ff1e5eb24c0b434646d2a8d1b3"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8430817f552ffb7cb52072b2f87def14dcfc0a4b"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "simple-git@4.0.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "@simple-git/argv-parser@1.1.1",
            "simple-git@3.36.0",
            "@simple-git/argv-parser@1.1.0",
            "@simple-git/args-pathspec@1.0.3",
            "simple-git@3.35.2",
            "@simple-git/argv-parser@1.0.3",
            "@simple-git/args-pathspec@1.0.2",
            "simple-git@3.35.1",
            "@simple-git/argv-parser@1.0.2",
            "@simple-git/argv-parser@1.0.1",
            "@simple-git/args-pathspec@1.0.1",
            "simple-git@3.33.0",
            "simple-git@3.32.3",
            "simple-git@3.32.2",
            "simple-git@3.32.1",
            "simple-git@3.32.0",
            "simple-git@3.31.1",
            "simple-git@3.30.0",
            "simple-git@3.28.0",
            "simple-git@3.27.0",
            "simple-git@3.26.0",
            "simple-git@3.25.0",
            "simple-git@3.24.0",
            "simple-git@3.23.0",
            "simple-git@3.22.0",
            "simple-git@3.21.0",
            "simple-git@3.20.0",
            "simple-git@3.19.1",
            "simple-git@3.19.0",
            "simple-git@3.18.0",
            "simple-git@3.17.0",
            "simple-git@3.16.1",
            "simple-git@3.16.0",
            "simple-git@3.15.1",
            "simple-git@3.15.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-102828.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.072040137Z",
      "provider": "osv",
      "references": [
        "https://github.com/steveukx/git-js/releases/tag/simple-git@4.0.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102828.json",
        "https://github.com/steveukx/git-js/security/advisories/GHSA-x6jw-m9v5-85vh",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-102828",
        "https://github.com/steveukx/git-js/commit/d762810c13b331ff1e5eb24c0b434646d2a8d1b3",
        "https://github.com/steveukx/git-js/pull/1198"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-184",
          "CWE-78"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102828.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-102828",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493235,
  "published_at": "2026-09-29T18:43:19.086+00:00"
}