Stack buffer overflow due to `strcpy` into fixed size buffer in `extractVersionQuadFromString`
Moonlight-common-c contains the core GameStream client code shared between Moonlight clients. Moonlight-common-c is vulnerable to buffer overflow starting in commit f57bd745b4cbed577ea654fad4701bea4d38b44c. A malicious game streaming server could exploit a buffer overflow vulnerability to crash a moonlight client. Achieving RCE is possible but unlikely, due to stack canaries in use by modern compiler toolchains. The published binaries for official clients Qt, Android, iOS/tvOS, and Embedded are built with stack canaries, but some unofficial clients may not use stack canaries. This vulnerability takes place after the pairing process, so it requires the client to be tricked into pairing to a malicious host. It is not possible to perform using a man-in-the-middle due to public key pinning that takes place during the pairing process. The bug was addressed in commit b2497a3918a6d79808d9fd0c04734786e70d5954.
- Yayın
- 14 Ara 2023
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,8 · 55. yüzdelik
- CWE
- CWE-120
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
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 30 / 40 · 7.6 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,8
CNA ile NVD puanı
- NVD
- 7,6
- CNA · GitHub_M
- 7,6
- uyumlu
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 |
|---|---|---|
| moonlight-stream | moonlight-common-c | cpe:2.3:a:moonlight-stream:moonlight-common-c |
| moonlight-stream | moonlight | cpe:2.3:a:moonlight-stream:moonlight |
| moonlight-stream | moonlight embedded | cpe:2.3:a:moonlight-stream:moonlight_embedded |
| moonlight-stream | moonlight xbox | cpe:2.3:a:moonlight-stream:moonlight_xbox |
| moonlight-stream | moonlight tv | cpe:2.3:a:moonlight-stream:moonlight_tv |
| moonlight-stream | moonlight switch | cpe:2.3:a:moonlight-stream:moonlight_switch |
| moonlight-stream | moonlight vita | cpe:2.3:a:moonlight-stream:moonlight_vita |
| moonlight-stream | moonlight qt\/pc | cpe:2.3:a:moonlight-stream:moonlight_qt\/pc |
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.
- moonlight-stream moonlight9.0.0 öncesi
- moonlight-stream moonlight12.0 öncesi
- moonlight-stream moonlight0.10.23 öncesi
- moonlight-stream moonlight embedded2.6.1 öncesi
- moonlight-stream moonlight qt/pc5.0.0 dahil
- moonlight-stream moonlight switch0.13.4 öncesi
- moonlight-stream moonlight tv1.6.0 öncesi
- moonlight-stream moonlight vitatüm sürümler
- moonlight-stream moonlight xbox1.14.5 dahil
- moonlight-stream moonlight-common-c2016-10-05 ve sonrası · 2023-10-06 ö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.
moonlight-stream moonlight-common-c
- >= f57bd745b4cbed577ea654fad4701bea4d38b44c, < b2497a3918a6d79808d9fd0c04734786e70d5954etkilenir
Aynı üründe
moonlight-stream: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2023-42800Buffer overflow due to use of `strcpy` in `performRtspHandshake`35İzleyin
- CVE-2023-42799Buffer overflow due to use of `strcpy` in `parseUrlAddrFromRtspUrlString`35İ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.
Bu kayıt için kayıtlı bir düzeltme sürümü yok. Üretici bildirimleri için referanslara bakın.
İ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ı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-2023-427990 gün araylaBuffer overflow due to use of `strcpy` in `parseUrlAddrFromRtspUrlString`35İzleyin
- CVE-2023-428000 gün araylaBuffer overflow due to use of `strcpy` in `performRtspHandshake`35İ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.
- 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
- düşük · veriler okunabilir
- Bütünlük
- düşük · 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
- Gerekir
- Kapsam
- Değişmez
- Gizlilik etkisi
- Düşük
- Bütünlük etkisi
- Düşük
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-120 · Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')CVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H
nvd-primary
Kök neden
Veri kopyalanırken kaynağın uzunluğu, hedef arabelleğin boyutuyla karşılaştırılmıyor. Fazla veri, bitişik belleğin üzerine yazılır.
Hatanın kod karşılığı
CWE-120 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ı
char buf[256];memcpy(buf, pkt->data, pkt->len);Düzeltilmiş
char buf[256];if (pkt->len > sizeof(buf)) { return -EINVAL;}memcpy(buf, pkt->data, pkt->len);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)
- Buffer Overflow via Environment VariablesCAPEC-10olasılık: High · High
- Overflow BuffersCAPEC-100olasılık: High · Very High
- Client-side Injection-induced Buffer OverflowCAPEC-14olasılık: Medium · High
- Filter Failure through Buffer OverflowCAPEC-24olasılık: High · High
- MIME ConversionCAPEC-42olasılık: High · High
- Overflow Binary Resource FileCAPEC-44olasılık: High · Very High
- Buffer Overflow via Symbolic LinksCAPEC-45olasılık: High · High
- Overflow Variables and TagsCAPEC-46olasılık: High · High
ATT&CK teknikleri
—
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
Bu kayıtta izlenen alanlarda henüz değişiklik kaydı yok. Skor, KEV, istismar olgunluğu ve düzeltme durumu değiştiğinde burada görünür.
Referanslar
- github.com/moonlight-stream/moonlight-common-c/commit/b2497a3918a6d79808d9fd0c04734786e70d5954
- github.com/moonlight-stream/moonlight-common-c/commit/f57bd745b4cbed577ea654fad4701bea4d38b44c
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.