GitPython: Unsafe option check validates multi_options before shlex.split transforms it
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.
- Yayın
- 7 May 2026
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,7 · 52. yüzdelik
- CWE
- CWE-88
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
39
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,7
CISA SSVC kararı
- Sömürü
- kavram kanıtı
- Otomatikleştirilebilir
- hayır
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- 9,8
- CNA · GitHub_M
- 8,1
- 1,7 puan fark
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| gitpython project | gitpython | cpe:2.3:a:gitpython_project:gitpython |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- gitpython project gitpython3.1.47 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (GitHub_M) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
gitpython-developers GitPython
- < 3.1.47etkilenir
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | python-git | tüm sürümler | — |
| Debian:14 | python-git | 3.1.50-1 öncesi | 3.1.50-1 |
| PyPI | gitpython | 3.1.47 öncesi | 3.1.47 |
| Red Hat:ansible_automation_platform_developer:2.5::el8 | ansible-core | 1:2.16.19-1.el8ap öncesi | 1:2.16.19-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.5::el8 | receptor | 0:1.6.6-1.el8ap öncesi | 0:1.6.6-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.5::el8 | receptorctl | 0:1.6.6-1.el8ap öncesi | 0:1.6.6-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.5::el9 | ansible-core | 1:2.16.19-1.el9ap öncesi | 1:2.16.19-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.5::el9 | receptor | 0:1.6.6-1.el9ap öncesi | 0:1.6.6-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.5::el9 | receptorctl | 0:1.6.6-1.el9ap öncesi | 0:1.6.6-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.6::el10 | ansible-core | 2:2.16.19-1.el10ap öncesi | 2:2.16.19-1.el10ap |
| Red Hat:ansible_automation_platform:2.5::el8 | automation-controller-venv-tower | 0:4.6.30-2.el8ap öncesi | 0:4.6.30-2.el8ap |
| Red Hat:ansible_automation_platform:2.5::el8 | automation-gateway-server | 0:2.5.20260715-1.el8ap öncesi | 0:2.5.20260715-1.el8ap |
| Red Hat:ansible_automation_platform:2.5::el8 | python3.12-gitpython | 0:3.1.50-1.el8ap öncesi | 0:3.1.50-1.el8ap |
| Red Hat:ansible_automation_platform:2.5::el8 | python3.12-pulpcore | 0:3.49.63-2.el8ap öncesi | 0:3.49.63-2.el8ap |
| Red Hat:ansible_automation_platform:2.5::el8 | receptor-debuginfo | 0:1.6.6-1.el8ap öncesi | 0:1.6.6-1.el8ap |
| Red Hat:ansible_automation_platform:2.5::el8 | receptor-debugsource | 0:1.6.6-1.el8ap öncesi | 0:1.6.6-1.el8ap |
| Red Hat:ansible_automation_platform:2.5::el9 | automation-controller-venv-tower | 0:4.6.30-2.el9ap öncesi | 0:4.6.30-2.el9ap |
| Red Hat:ansible_automation_platform:2.5::el9 | automation-gateway-server | 0:2.5.20260715-1.el9ap öncesi | 0:2.5.20260715-1.el9ap |
| Red Hat:ansible_automation_platform:2.5::el9 | python3.12-gitpython | 0:3.1.50-1.el9ap öncesi | 0:3.1.50-1.el9ap |
| Red Hat:ansible_automation_platform:2.5::el9 | python3.12-pulpcore | 0:3.49.63-2.el9ap öncesi | 0:3.49.63-2.el9ap |
| Red Hat:ansible_automation_platform:2.5::el9 | receptor-debuginfo | 0:1.6.6-1.el9ap öncesi | 0:1.6.6-1.el9ap |
| Red Hat:ansible_automation_platform:2.5::el9 | receptor-debugsource | 0:1.6.6-1.el9ap öncesi | 0:1.6.6-1.el9ap |
| Red Hat:ansible_automation_platform:2.6::el10 | receptor | 0:1.6.6-1.el10ap öncesi | 0:1.6.6-1.el10ap |
| Red Hat:ansible_automation_platform:2.6::el9 | automation-controller-venv-tower | 0:4.7.14-3.el9ap öncesi | 0:4.7.14-3.el9ap |
+14
Aynı üründe
gitpython project: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2022-24439Remote Code Execution (RCE)41Planlayın
- CVE-2023-40267GitPython before 3.1.32 does not block insecure non-multi options in clone and clone_from.39İzleyin
- CVE-2026-78676GitPython before 3.1.59 Remote Code Execution via Config Injection37İzleyin
- CVE-2026-67324GitPython 3.1.50 Authentication Bypass via Joined Short Options37İzleyin
- CVE-2026-67325GitPython before 3.1.51 Command Injection via option prefix abbreviation35İzleyin
- CVE-2026-42215GitPython: Command injection via Git options bypass35İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| gitpython-developers GitPython | 3.1.47 · description | Üretici (CNA) |
| debian:python-git | 3.1.50-1 · Debian:14 | Paket deposu (OSV) |
| PyPI:gitpython | 3.1.47 | Paket deposu (OSV) |
| red hat:ansible-core | 1:2.16.19-1.el8ap · Red Hat:ansible_automation_platform_developer:2.5::el8 | Paket deposu (OSV) |
| red hat:automation-controller-venv-tower | 0:4.6.30-2.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:automation-gateway-proxy | 0:2.6.17-1.el9ap · Red Hat:ansible_automation_platform:2.6::el9 | Paket deposu (OSV) |
| red hat:automation-gateway-proxy-debugsource | 0:2.6.17-1.el9ap · Red Hat:ansible_automation_platform:2.6::el9 | Paket deposu (OSV) |
| red hat:automation-gateway-server | 0:2.5.20260715-1.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:automation-platform-ui | 0:2.6.11-1.el9ap · Red Hat:ansible_automation_platform:2.6::el9 | Paket deposu (OSV) |
| red hat:python3.12-gitpython | 0:3.1.50-1.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:python3.12-pulpcore | 0:3.49.63-2.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:receptor | 0:1.6.6-1.el8ap · Red Hat:ansible_automation_platform_developer:2.5::el8 | Paket deposu (OSV) |
| red hat:receptor-debuginfo | 0:1.6.6-1.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:receptor-debugsource | 0:1.6.6-1.el8ap · Red Hat:ansible_automation_platform:2.5::el8 | Paket deposu (OSV) |
| red hat:receptorctl | 0:1.6.6-1.el8ap · Red Hat:ansible_automation_platform_developer:2.5::el8 | Paket deposu (OSV) |
| suse:python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 · SUSE:Linux Enterprise Module for Python 3 15 SP7 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Referanslarda commit ya da PR bağlantısı yok.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
CNA kaydında kredi yok.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-78676109 gün araylaGitPython before 3.1.59 Remote Code Execution via Config Injection37İzleyin
- CVE-2026-76220104 gün araylaGitPython before 3.1.58 Command Execution via split_single_char_options34İzleyin
- CVE-2026-76218104 gün araylaGitPython before 3.1.58 Remote Code Execution via Repo.init30İzleyin
- CVE-2026-7362498 gün araylaGitPython before 3.1.54 Arbitrary File Overwrite via diff28İzleyin
- CVE-2026-76219104 gün araylaGitPython before 3.1.58 Arbitrary File Overwrite via read-tree28İzleyin
- CVE-2026-78678109 gün araylaGitPython before 3.1.59 Arbitrary File Read via Repo.blame()28İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yüksek · veriler okunabilir
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yüksek
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-88 · Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')CVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- Parameter InjectionCAPEC-137olasılık: Medium · Medium
- Flash Parameter InjectionCAPEC-174olasılık: High · Medium
- Using Meta-characters in E-mail Headers to Inject Malicious PayloadsCAPEC-41olasılık: High · High
- HTTP Parameter Pollution (HPP)CAPEC-460Medium
- OS Command InjectionCAPEC-88olasılık: High · High
ATT&CK teknikleri
—
Değişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.