CVE-2026-42284: GitPython: Unsafe option check validates multi_options before shlex.split transforms it
Vulnerability summary
CVE-2026-42284 is a critical (CVSS 9.8) vulnerability in gitpython_project gitpython. EPSS estimates a 0.57% chance of exploitation in the next 30 days, higher than 47.2% of scored vulnerabilities. 2 public exploits are recorded.
Public exploit (reference, Date unknown)
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 8 · Related 3Timeline
- 07-05-2026PublishedVulnerability first disclosed.
- 09-05-2026Last modifiedVulnerability information updated.
Description
GitPython is a python library used to interact with Git repositories. Prior to version 3.1.47, _clone() validates multi_options as the original list, then executes shlex.split(" ".join(multi_options)). A string like "--branch main --config core.hooksPath=/x" passes validation (starts with --branch), but after split becomes ["--branch", "main", "--config", "core.hooksPath=/x"]. Git applies the config and executes attacker hooks during clone. This issue has been patched in version 3.1.47.
CVSS metrics
8 scores · 8 sources · 1 version- CVE.orgCNA8.1HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HDiffers
- OSV · PypiEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · UbuntuEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · DebianEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- OSV · WolfiEcosystem advisory · calculated8.1HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HDiffers
- OSV · ChainguardEcosystem advisory · calculated8.1HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HDiffers
- OSV · AlpineEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
0.57%
Chance of exploitation in the next 30 days
Percentile
47%
Versus all other CVEs
30-day change
Decrease -0.14 pp
From 0.71% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
2 foundExploit Reference (tenable.com)
Maturity: unknown
Gitpython
Maturity: poc
Weaknesses
CWE · root causeAffected systems
Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.
Chainguard7 products
- awx< 24.6.1-r35
- checkov< 3.2.525-r0
- datahub-ingestion-fips< 1.5.0.1-r2
- mlflow< 3.16.0-r0 | < 3.11.1-r0
- mlflow-fips< 3.11.1-r0
Wolfi3 products
- checkov< 3.2.525-r0
- mlflow< 3.16.0-r0 | < 3.11.1-r0
- open-webui< 0.8.12-r4 | < 0.9.2-r0
Alpine1 product
- py3-gitpython< 3.1.49-r0
Debian1 product
- python-gitAll versions (No fix recorded) | < 3.1.30-1+deb12u3 | < 3.1.44-1+deb13u1 | < 3.1.50-1
Gitpython_project1 product
- gitpython< 3.1.47
Gitpython-developers1 product
- gitpython< 3.1.47
PyPI1 product
- gitpython< 3.1.47
Ubuntu1 product
- python-git< 3.0.7-1ubuntu0.1~esm4 | < 3.1.24-1ubuntu0.1~esm3 | < 3.1.37-3ubuntu0.1~esm2 | All versions (No fix recorded) | < 3.1.46-1ubuntu0.1~esm1
8 vendors · 16 products
References
11 links- github.com/gitpython-developers/GitPython/security/advisories/GHSA-x2qx-6953-8485X Refsource CONFIRMWEBEVIDENCEREPORTAdvisoryExploitVendor Advisory
- github.com/gitpython-developers/GitPython/releases/tag/3.1.47X Refsource MISCWEBFIXPatchRelease Notes