{"vulnerability": "ghsa-858h-whjf-mvg5", "sightings": [{"uuid": "268dd0ca-32e9-47d3-9639-47c1dad519e8", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-858h-whjf-mvg5", "type": "seen", "source": "https://gist.github.com/alon710/7c1d1754c30e0500c12b9daffdbd49f6", "content": "# CVE-2026-102827: CVE-2026-102827: Command and Argument Injection Bypass in simple-git via Option Abbreviation\n\n&gt; **CVSS Score:** 8.1\n&gt; **Published:** 2026-10-05\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-102827\n\n## Summary\nCVE-2026-102827 is an argument injection bypass vulnerability in the node.js simple-git package where the default blockUnsafeOperationsPlugin fails to detect abbreviated Git command options. Attackers can bypass validations using prefixes like --receive-p or --exe, which native Git subsequently expands to dangerous options, leading to remote command execution.\n\n## TL;DR\nA validation mismatch allows command execution bypasses in simple-git by using abbreviated Git options such as --receive-p and --exe, which bypass blocklist filters but are fully executed by the underlying Git binary.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-88, CWE-77\n- **Attack Vector**: Network\n- **CVSS Base Score**: 8.1\n- **Exploit Maturity**: PoC\n- **Affected Component**: blockUnsafeOperationsPlugin\n- **Remediation Strategy**: GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS\n\n## Affected Systems\n\n- Node.js environments deploying applications that integrate simple-git versions prior to 4.0.0\n- Systems executing server-side simple-git commands where parameters are derived from user-controlled inputs\n- **simple-git**: &lt; 4.0.0 (Fixed in: `4.0.0`)\n\n## Mitigation\n\n- Upgrade simple-git to 4.0.0 or later to enable native abbreviation restriction.\n- Perform strict validation on user-supplied options, rejecting strings starting with a hyphen (-) unless matched against an allowlist.\n- Restrict execution context using container-level isolation and minimal privilege user configurations.\n\n**Remediation Steps:**\n1. Identify current simple-git version by running: npm list simple-git\n2. Update simple-git dependency in package.json to at least ^4.0.0\n3. Run npm install to pull down the patched package\n4. Verify that custom arguments are not explicitly utilizing dangerous abbreviation overrides in application code\n\n## References\n\n- [GHSA-858h-whjf-mvg5 Security Advisory](https://github.com/steveukx/git-js/security/advisories/GHSA-858h-whjf-mvg5)\n- [NVD CVE-2026-102827 Entry](https://nvd.nist.gov/vuln/detail/CVE-2026-102827)\n- [CVE.org Record](https://www.cve.org/CVERecord?id=CVE-2026-102827)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-102827) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-10-06T07:30:28.000000Z"}, {"uuid": "aa4279db-946d-4379-95a5-2d52a5be77a0", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-858h-whjf-mvg5", "type": "seen", "source": "https://gist.github.com/sonofmagic/384d7a9eed232a8ec81daddf0a3280bb", "content": "# \u5df2\u89c2\u5bdf\u5230\u7684\u7ed3\u679c\uff082026-10-09\uff09\n\n## \u5b89\u88c5\n\nrepoctl 5.9.0 \u4e0e @icebreakers/monorepo 5.9.0 \u5b89\u88c5\u6210\u529f\u3002\n\n## Peer \u68c0\u67e5\uff08\u9000\u51fa\u7801 1\uff09\n\n```text\nIssues with peer dependencies found\n\n\u2715 unmet peer @pnpm/logger\n  Installed: 1100.0.0\n  Wanted:\n    \"&gt;=1001.0.0 &lt;1002.0.0\":\n      @pnpm/core-loggers@1001.0.9\n    ^1001.0.1:\n      @pnpm/read-project-manifest@1001.2.6\n      @pnpm/manifest-utils@1002.0.5\n```\n\n## \u5b89\u5168\u5ba1\u8ba1\uff08\u9000\u51fa\u7801 1\uff09\n\n4 critical / 3 high / 0 moderate / 1 low\uff1b\u5171 8 \u6761\u516c\u5f00 advisory\uff0c\u5e76\u975e 8 \u4e2a\u72ec\u7acb\u5305\u3002\n\n| \u5305 | \u5b89\u88c5\u7248\u672c | \u4e25\u91cd\u7a0b\u5ea6 | Advisory | \u4fee\u590d\u7248\u672c |\n| --- | --- | --- | --- | --- |\n| `braces` | `3.0.3` | high | [GHSA-vfj7-8cjw-p6xm](https://github.com/advisories/GHSA-vfj7-8cjw-p6xm) | \u5c1a\u65e0\u5df2\u53d1\u5e03\u4fee\u590d\u7248 |\n| `@simple-git/argv-parser` | `1.1.1` | critical | [GHSA-v5rq-49vh-5v5c](https://github.com/advisories/GHSA-v5rq-49vh-5v5c) | &gt;=2.0.1 |\n| `simple-git` | `3.36.0` | critical | [GHSA-x6jw-m9v5-85vh](https://github.com/advisories/GHSA-x6jw-m9v5-85vh) | &gt;=4.0.1 |\n| `simple-git` | `3.36.0` | high | [GHSA-g4wm-2vf7-vfgr](https://github.com/advisories/GHSA-g4wm-2vf7-vfgr) | &gt;=4.0.0 |\n| `simple-git` | `3.36.0` | high | [GHSA-858h-whjf-mvg5](https://github.com/advisories/GHSA-858h-whjf-mvg5) | &gt;=4.0.0 |\n| `katex` | `0.16.47` | low | [GHSA-238p-pmpm-9mq7](https://github.com/advisories/GHSA-238p-pmpm-9mq7) | &gt;=0.18.2 |\n| `tinypool` | `2.1.0` | critical | [GHSA-5gmw-xhrv-c9v3](https://github.com/advisories/GHSA-5gmw-xhrv-c9v3) | &gt;=2.1.1 |\n| `tinypool` | `2.1.0` | critical | [GHSA-85c8-ppgw-ccpr](https://github.com/advisories/GHSA-85c8-ppgw-ccpr) | &gt;=2.1.2 |\n\n## \u4f9d\u8d56\u6765\u6e90\n\n```text\n@pnpm/logger@1100.0.0\n\u251c\u2500\u252c @icebreakers/monorepo@5.9.0\n\u2502 \u2514\u2500\u252c repoctl@5.9.0\n\u2502   \u2514\u2500\u2500 repoctl-dependency-repro (devDependencies)\n\u251c\u2500\u252c @pnpm/core-loggers@1001.0.9\n\u2502 \u2514\u2500\u252c @pnpm/manifest-utils@1002.0.5\n\u2502   \u2514\u2500\u252c @pnpm/read-project-manifest@1001.2.6\n\u2502     \u2514\u2500\u252c @pnpm/fs.find-packages@1000.0.24\n\u2502       \u2514\u2500\u2500 @icebreakers/monorepo@5.9.0 [deduped]\n\u251c\u2500\u252c @pnpm/core-loggers@1101.0.2\n\u2502 \u251c\u2500\u252c @pnpm/fs.indexed-pkg-importer@1100.0.33\n\u2502 \u2502 \u2514\u2500\u252c @pnpm/store.create-cafs-store@1100.0.34\n\u2502 \u2502   \u2514\u2500\u252c @pnpm/worker@1100.4.8\n\u2502 \u2502     \u2514\u2500\u2500 @icebreakers/monorepo@5.9.0 [deduped]\n\u2502 \u2514\u2500\u252c @pnpm/fs.symlink-dependency@1100.0.24\n\u2502   \u2514\u2500\u2500 @pnpm/worker@1100.4.8 [deduped]\n\u251c\u2500\u252c @pnpm/fs.hard-link-dir@1100.0.9\n\u2502 \u2514\u2500\u2500 @pnpm/worker@1100.4.8 [deduped]\n\u251c\u2500\u2500 @pnpm/fs.indexed-pkg-importer@1100.0.33 [deduped]\n\u251c\u2500\u2500 @pnpm/fs.symlink-dependency@1100.0.24 [deduped]\n\u251c\u2500\u2500 @pnpm/manifest-utils@1002.0.5 [deduped]\n\u251c\u2500\u2500 @pnpm/read-project-manifest@1001.2.6 [deduped]\n\u251c\u2500\u2500 @pnpm/store.create-cafs-store@1100.0.34 [deduped]\n\u2514\u2500\u2500 @pnpm/worker@1100.4.8 [deduped]\n\n@simple-git/argv-parser@1.1.1\n\u2514\u2500\u252c simple-git@3.36.0\n  \u2514\u2500\u252c @icebreakers/monorepo@5.9.0\n    \u2514\u2500\u252c repoctl@5.9.0\n      \u2514\u2500\u2500 repoctl-dependency-repro (devDependencies)\n\nkatex@0.16.47\n\u2514\u2500\u252c micromark-extension-math@3.1.0\n  \u2514\u2500\u252c @eslint/markdown@8.0.3\n    \u2514\u2500\u252c @antfu/eslint-config@9.5.1\n      \u2514\u2500\u252c @icebreakers/eslint-config@8.0.8\n        \u2514\u2500\u252c @icebreakers/monorepo@5.9.0\n          \u2514\u2500\u252c repoctl@5.9.0\n            \u2514\u2500\u2500 repoctl-dependency-repro (devDependencies)\n\nsimple-git@3.36.0\n\u2514\u2500\u252c @icebreakers/monorepo@5.9.0\n  \u2514\u2500\u252c repoctl@5.9.0\n    \u2514\u2500\u2500 repoctl-dependency-repro (devDependencies)\n\ntinypool@2.1.0\n\u2514\u2500\u252c oxfmt@0.35.0\n  \u2514\u2500\u252c eslint-plugin-format@2.0.1\n    \u251c\u2500\u252c @antfu/eslint-config@9.5.1\n    \u2502 \u2514\u2500\u252c @icebreakers/eslint-config@8.0.8\n    \u2502   \u2514\u2500\u252c @icebreakers/monorepo@5.9.0\n    \u2502     \u2514\u2500\u252c repoctl@5.9.0\n    \u2502       \u2514\u2500\u2500 repoctl-dependency-repro (devDependencies)\n    \u2514\u2500\u2500 @icebreakers/eslint-config@8.0.8 [deduped]\n\nFound 1 version of @pnpm/logger\nFound 1 version of @simple-git/argv-parser\nFound 1 version of katex\nFound 1 version of simple-git\nFound 1 version of tinypool\n```\n\n\u53e6\uff1abraces \u7684 repoctl \u8def\u5f84\u4e3a `repoctl \u2192 @icebreakers/monorepo \u2192 micromatch \u2192 braces`\uff0c\u4e5f\u6709\u7ecf stylelint \u5f15\u5165\u7684\u8def\u5f84\u3002\n", "creation_timestamp": "2026-10-09T08:52:49.000000Z"}]}