CVE-2023-34455
Açıklama
snappy-java, Java için hızlı bir sıkıştırıcı/açıcıdır. Kontrol edilmeyen bir yığın uzunluğunun kullanılması nedeniyle, 1.1.10.1 öncesindeki sürümlerde kurtarılamaz kritik bir hata oluşabilir. SnappyInputStream.java dosyasındaki hasNextChunk fonksiyonundaki kod, verilen akışta okunacak daha fazla yığın olup olmadığını kontrol eder. Bunu 4 bayt okumaya çalışarak yapar. Eğer 4 baytı okumak mümkün değilse, fonksiyon false döndürür. Aksi takdirde, eğer 4 bayt mevcutsa, kod bunları bir sonraki yığının uzunluğu olarak kabul eder. `compressed` değişkeninin null olduğu durumda, giriş verisi tarafından belirtilen boyutta bir bayt dizisi tahsis edilir. Kod, `chunkSize` değişkeninin yasallığını test etmediği için, negatif bir sayı (0xFFFFFFFF yani -1 gibi) geçirmek mümkündür ve bu durum kodun bir `java.lang.NegativeArraySizeException` istisnası oluşturmasına neden olur. Daha kötü bir senaryo ise, çok büyük pozitif bir değer (0x7FFFFFFF gibi) geçildiğinde meydana gelir ve bu da kritik bir `java.lang.OutOfMemoryError` hatasına yol açar. Sürüm 1.1.10.1, bu sorun için bir yama içermektedir.
Nasıl düzeltilir
- xerial snappy-java1.1.10.1 ya da sonraki bir sürüm
- org.xerial.snappy:snappy-java1.1.10.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| xerial snappy-java | v < 1.1.10.1 | 1.1.10.1 |
| org.xerial.snappy:snappy-javaMaven | v < 1.1.10.1 | 1.1.10.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.
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.