CVE-2026-102828 json
simple-git unsafe-operation guard does not block trailer command configuration
published last mo. modified last mo. also EUVD-2026-89334 , GHSA-x6jw-m9v5-85vh
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 31%
- public exploits
- 0
- none known
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.<token>.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.
Patch / fix
- npm simple-git 4.0.1
- simple-git_project simple-git 4.0.1
Is CVE-2026-102828 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-102828 updated cvss 8.1
simple-git: simple-git unsafe-operation guard does not block trailer command configuration
-
Red Hat Build of Keycloak rhbk-quarkus-dist.zip, keycloak-operator.redhat-00001.zip, keycloak-operator.redhat-00003.zipaffected: workaround, no fix available
-
Red Hat Enterprise Linux 8 grafana, grafana-pcp, grafana-loki, grafana-mssql, grafana-mysql, grafana-selinux, +9 more Red Hat Enterprise Linux 9 grafana, grafana-pcp, grafana-selinux Red Hat Enterprise Linux 10 grafana, grafana-pcpnot affected: vulnerable code not present
-
Red Hat JBoss Enterprise Application Platform 8 jboss-eap-runtime-maven-repository.zip, jboss-eap.1-runtime-maven-repository.zip Red Hat JBoss Enterprise Application Platform Expansion Pack jboss-eap-runtime-maven-repository.zip, jboss-eap.1-runtime-maven-repository.zipnot affected: component not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.37% chance of exploitation in the next 30 days, higher than 31% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.2 | 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 |
| CNA | 4.0 | 9.2 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | simple-git | >=3.15.0, <4.0.1 |
4.0.1 |
Affected products
- steveukx git-js
Classification
References
-
github.com
/steveukx/git-js/pull/1198
web, patch
-
github.com
/steveukx/git-js/commit/d762810c13b331ff1e5eb24c0b434646d2a8d1b3
web, patch
-
github.com
/steveukx/git-js/security/advisories/GHSA-x6jw-m9v5-85vh
web, mitigation, vendor-advisory
-
github.com
/steveukx/git-js/releases/tag/simple-git@4.0.1
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-102828
advisory
-
github.com
/steveukx/git-js
package
Sources
- CVE List CVE-2026-102828
- GitHub Advisory GHSA-x6jw-m9v5-85vh
- NVD CVE-2026-102828
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.