CVE-2026-28291 simple-git has Command Execution via Option-Parsing Bypass

High 8.1 Published Updated

Attackers can execute arbitrary commands by bypassing safety checks in the simple-git library through Git option manipulation.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-28291?

CVE-2026-28291 is a high-severity command injection vulnerability in steveukx git-js, published on 13 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

simple-git enables running native Git commands from JavaScript. Versions up to and including 3.31.1 allow execution of arbitrary commands through Git option manipulation, bypassing safety checks meant to block dangerous options like -u and --upload-pack. The flaw stems from an incomplete fix for CVE-2022-25860, as Git's flexible option parsing allows numerous character combinations (e.g., -vu, -4u, -nu) to circumvent the regular-expression-based blocklist in the unsafe operations plugin. Due to the virtually infinite number of valid option variants that Git accepts, a complete blocklist-based mitigation may be infeasible without fully emulating Git's option parsing behavior. This issue has been fixed in version 3.32.0.

Weakness: CWE-78

Which versions are affected by CVE-2026-28291?

2 open source packages ship an affected version, including simple-git. It affects 1 product.

PackageAffectedFixed in
simple-git npmAll versions3.32.0
simple-git npmAll versions3.32.0

Products include Simple-Git Project Simple-Git.

How do I fix CVE-2026-28291?

Upgrade simple-git to 3.32.0 or later.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2026-28291 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-28291 exists.

Sources

Also known as GHSA-jcxm-m3jx-f287, MINI-8h3p-w6vm-2wrr, ROOT-APP-NPM-CVE-2026-28291.

Is CVE-2026-28291 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free