Carriage-return character in remote URL allows malicious repository to leak credentials in Git Credential Manager
Noroxi değerlendirmesi
Öncelik: İzleyin (aksiyon skoru 30/100)
- İzlediğimiz kaynaklarda (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) herkese açık istismar kodu ya da sahada sömürü kaydı yok.
- Önümüzdeki 30 günde sömürülme olasılığı %3,2 (FIRST EPSS); kayıtların %88,1 kadarından yüksek.
- İnternetten erişebilen herkes tetikleyebilir. Hesap ya da parola gerekmez. Bir kullanıcının bağlantıyı açması ya da sayfayı ziyaret etmesi gerekir. Özel bir koşul gerekmez; tekrarlanabilir.
- Düzeltilmiş sürüm: git-ecosystem git-credential-manager 2.6.1; Microsoft Visual Studio 2017 version 15.9 (includes 15.0 - 15.8) 15.9.69; Microsoft Visual Studio 2019 version 16.11 (includes 16.0 - 16.10) 16.11.43.
Şimdilik düşük öncelik. git-ecosystem git-credential-manager 2.6.1; Microsoft Visual Studio 2017 version 15.9 (includes 15.0 - 15.8) 15.9.69; Microsoft Visual Studio 2019 version 16.11 (includes 16.0 - 16.10) 16.11.43 ya da daha yeni sürüme yükseltin.
Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz
Birincil kaynaklar: NVD · CVE.org · FIRST EPSS
Git Credential Manager (GCM) is a secure Git credential helper built on .NET that runs on Windows, macOS, and Linux. The Git credential protocol is text-based over standard input/output, and consists of a series of lines of key-value pairs in the format `key=value`. Git's documentation restricts the use of the NUL (`\0`) character and newlines to form part of the keys or values. When Git reads from standard input, it considers both LF and CRLF as newline characters for the credential protocol by virtue of calling `strbuf_getline` that calls to `strbuf_getdelim_strip_crlf`. Git also validates that a newline is not present in the value by checking for the presence of the line-feed character (LF, `\n`), and errors if this is the case. This captures both LF and CRLF-type newlines. Git Credential Manager uses the .NET standard library `StreamReader` class to read the standard input stream line-by-line and parse the `key=value` credential protocol format. The implementation of the `ReadLineAsync` method considers LF, CRLF, and CR as valid line endings. This is means that .NET considers a single CR as a valid newline character, whereas Git does not. This mismatch of newline treatment between Git and GCM means that an attacker can craft a malicious remote URL. When a user clones or otherwise interacts with a malicious repository that requires authentication, the attacker can capture credentials for another Git remote. The attack is also heightened when cloning from repositories with submodules when using the `--recursive` clone option as the user is not able to inspect the submodule remote URLs beforehand. This issue has been patched in version 2.6.1 and all users are advised to upgrade. Users unable to upgrade should only interact with trusted remote repositories, and not clone with `--recursive` to allow inspection of any submodule URLs before cloning those submodules.
- Yayın
- 14 Oca 2025
- Güncelleme
- 17 Haz 2026
- EPSS
- %3,2 · 88. yüzdelik
- CWE
- CWE-200
Rapor araçları
Aksiyon skoru
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 29 / 40 · 7.4 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 1 / 30 · %3,2
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- hayır
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · GitHub_M
- 7,4
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Bu kayıt değişirse haber alın
- KEV'de değil: sahada sömürü kaydı yok
- Herkese açık istismar kodu kaydı yok
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
WordPress siteniz mi var? WP Lens ile ücretsiz tarayın
Noroxi analizi
Sizin ortamınızda ne anlama geliyor?
Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
Sürümünüz etkileniyor mu?
Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.
—
Ü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.
git-ecosystem git-credential-manager
- < 2.6.1etkilenir
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 |
|---|---|---|---|
| NuGet | git-credential-manager | 2.6.1 öncesi | 2.6.1 |
Aynı üründe
git-ecosystem: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2024-32478Git Credential Manager (GCM)'s Debian package does not set root ownership on installed files27İ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 |
|---|---|---|
| git-ecosystem git-credential-manager | 2.6.1 · description | Üretici (CNA) |
| Microsoft Visual Studio 2017 version 15.9 (includes 15.0 - 15.8) | 15.9.69 · Release Notes | Microsoft (MSRC) |
| Microsoft Visual Studio 2019 version 16.11 (includes 16.0 - 16.10) | 16.11.43 · Release Notes | Microsoft (MSRC) |
| Microsoft Visual Studio 2022 version 17.10 | 17.10.10 · Release Notes | Microsoft (MSRC) |
| Microsoft Visual Studio 2022 version 17.12 | 17.12.4 · Release Notes | Microsoft (MSRC) |
| Microsoft Visual Studio 2022 version 17.6 | 17.6.22 · Release Notes | Microsoft (MSRC) |
| Microsoft Visual Studio 2022 version 17.8 | 17.8.17 · Release Notes | Microsoft (MSRC) |
| NuGet:git-credential-manager | 2.6.1 | 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.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıklayın, aynı araştırmacının diğer kayıtlarını görün.
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.
Gece hesaplanan ilişki yok.
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.
- Bir kullanıcının bağlantıyı açması ya da sayfayı ziyaret etmesi gerekir.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yüksek · veriler okunabilir
- Bütünlük
- yok
- Erişilebilirlik
- yok
Etki, zafiyetli bileşenin ötesine geçebilir (kapsam değişir).
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekir
- Kapsam
- Değişir
- Gizlilik etkisi
- Yüksek
- Bütünlük etkisi
- Yok
- Erişilebilirlik etkisi
- Yok
Zayıflık sınıfı (CWE)
CWE-200 · Exposure of Sensitive Information to an Unauthorized ActorCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
nvd-secondary
Kök neden
Eklenti işlevi için gerekenden geniş izin istiyor ve topladığı veriyi amacı dışında dışarı gönderiyor.
Hatanın kod karşılığı
CWE-200 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
{ "permissions": ["tabs", "<all_urls>"], "background": { "service_worker": "analytics.js" }}Düzeltilmiş
{ "permissions": ["activeTab"], "host_permissions": ["https://yildiz.example/*"]}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)
- ExcavationCAPEC-116olasılık: High · Medium
- Subverting Environment Variable ValuesCAPEC-13olasılık: High · Very High
- FootprintingCAPEC-169olasılık: High · Very Low
- Exploiting Trust in ClientCAPEC-22olasılık: High · High
- FingerprintingCAPEC-224olasılık: High · Very Low
- ICMP Echo Request PingCAPEC-285olasılık: Medium · Low
- TCP SYN ScanCAPEC-287Low
- Enumerate Mail Exchange (MX) RecordsCAPEC-290Low
ATT&CK teknikleri
- System Service DiscoveryT1007
- System Network Configuration DiscoveryT1016
- Remote System DiscoveryT1018
- System Owner/User DiscoveryT1033
- Masquerading: Match Legitimate Name or LocationT1036.005
- Network Service ScanningT1046
- System Network Connections DiscoveryT1049
- Process DiscoveryT1057
- Permission Groups DiscoveryT1069
- System Information DiscoveryT1082
- File and Directory DiscoveryT1083
- Account DiscoveryT1087
- Multi-Factor Authentication InterceptionT1111
- Peripheral Device DiscoveryT1120
- System Time DiscoveryT1124
- Access Token Manipulation:Token Impersonation/TheftT1134.001
Değişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Tüm referansları göster (7 daha)Daha az göster
- github.com/dotnet/runtime/blob/e476b43b5cb42eb44ce23b1c7b793aa361624cf6/src/libraries/System.Private.CoreLib/src/System/IO/StreamReader.cs#L926
- github.com/git-ecosystem/git-credential-manager/blob/ae009e11a0fbef804ad9f78816d84a0bc7e052fe/src/shared/Core/StreamExtensions.cs#L138-L141
- github.com/git-ecosystem/git-credential-manager/compare/749e287571c78a2b61f926ccce6a707050871ab8...99e2f7f60e7364fe807e7925f361a81f3c47bd1b
- github.com/git-ecosystem/git-credential-manager/releases/tag/v2.6.1
- github.com/git-ecosystem/git-credential-manager/security/advisories/GHSA-86c2-4x57-wc8g
- github.com/git/git/blob/6a11438f43469f3815f2f0fc997bd45792ff04c0/credential.c#L311
- learn.microsoft.com/en-us/dotnet/api/system.io.streamreader?view=net-8.0
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.