CVE-2024-48924

Yüksek

Açıklama

### Etki Bu kütüphane güvenilmeyen bir kaynaktan gelen messagepack verilerini serisizleştirmek için kullanıldığında, hash çakışmaları oluşturmak üzere tasarlanmış veriler gönderen bir saldırgan tarafından, serisizleştirilen verinin boyutuna oranla aşırı yüksek CPU tüketimine yol açan bir hizmet reddi (DoS) saldırısı riski bulunmaktadır. Bu durum, zafiyetin hash çakışması kısmı için yetersiz bir düzeltme sağlayan [önceki bir bildirime](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf) benzerdir. ### Yamalar Bu riski azaltmak için aşağıdaki adımlar gereklidir. 1. Kütüphanenin düzeltmenin mevcut olduğu bir sürümüne yükseltin. 2. Uygulamanızın güvenilmeyen veriler için yapılandırıldığından emin olmak adına [bu önceki bildirimdeki](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf) adımları gözden geçirin. ### Geçici Çözümler MessagePack'i yamalanmış bir sürüme yükseltmek sizin için bir seçenek değilse, aşağıdaki şekilde manuel bir geçici çözüm uygulayabilirsiniz: 1. `MessagePackSecurity` sınıfından türeyen bir sınıf tanımlayın. 2. Kendi çakışmaya dayanıklı hash fonksiyonunuzu sağlamak ve `base.GetHashCollisionResistantEqualityComparer<T>()` metodunu çağırmaktan kaçınmak için `GetHashCollisionResistantEqualityComparer<T>` metodunu override edin. 3. Mevcut bir seçenekler nesnesi üzerinde `WithSecurity` metodunu çağırarak, türettiğiniz türün bir örneği ile bir `MessagePackSerializerOptions` yapılandırın. 4. Tüm serisizleştirme işlemleri için özel seçenekler nesnenizi kullanın. Bu işlem, bu varsayılan özelliğe dayanan metodları çağırıyorsanız `MessagePackSerializer.DefaultOptions` statik özelliğini ayarlayarak ve/veya herhangi bir `Deserialize` metoduna seçenekler nesnesini açıkça geçirerek yapılabilir. ### Referanslar - [MessagePack 1.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp/tree/v1.x#security) veya [MessagePack 2.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp#security) ile güvenilmeyen verileri okurken uygulanacak en iyi güvenlik uygulamaları hakkında daha fazla bilgi edinin. - .NET ekibinin kendi `HashCode` yapısının hash çakışması zafiyetleri hakkındaki [tartışması](https://github.com/GrabYourPitchforks/runtime/blob/threat_models/docs/design/security/System.HashCode.md). ### Daha fazla bilgi için Bu bildirimle ilgili herhangi bir sorunuz veya yorumunuz varsa: * [Herkese açık bir tartışma başlatın](https://github.com/MessagePack-CSharp/MessagePack-CSharp/discussions) * [Bize özel olarak e-posta gönderin](mailto:[email protected])

ÖnemYüksek
CVSS8.7
İstismar olasılığı—
ÜrünMessagepack
Yayın17 Eki 2024
İlk görülme17 Eki 2024
Zayıflık türüCWE-328CWE-328

Nasıl düzeltilir

Güncelleyin
  • MessagePack2.5.187, 3.0.214-rc.1 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
MessagePackNuGetv < 2.5.187, 2.6.95-alpha ≤ v < 3.0.214-rc.12.5.187, 3.0.214-rc.1

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.