CVE-2023-34453
Təsvir
snappy-java Java üçün sürətli sıxıcı/açıcıdır. Yoxlanılmayan vurma əməliyyatları səbəbindən 1.1.10.1 versiyasından əvvəlki versiyalarda tam ədəd daşması (integer overflow) baş verə bilər ki, bu da kritik xətaya yol açır. `BitShuffle.java` faylındakı `shuffle(int[] input)` funksiyası tam ədədlərdən ibarət massiv qəbul edir və onun üzərində bit qarışdırma (bit shuffle) tətbiq edir. Bunu etmək üçün uzunluğu 4-ə vurur və onu yerli şəkildə kompilyasiya edilmiş shuffle funksiyasına ötürür. Uzunluq yoxlanılmadığı üçün dördə vurma əməliyyatı tam ədəd daşmasına səbəb ola bilər və nəticə real ölçüdən daha kiçik, hətta sıfır və ya mənfi dəyər ala bilər. Mənfi dəyər olduğu halda `java.lang.NegativeArraySizeException` istisnası yaranacaq ki, bu da proqramın çökməsinə səbəb ola bilər. Dəyərin sıfır və ya çox kiçik olduğu halda, sonradan qarışdırılmış massivə istinad edən kod massivin daha böyük ölçüsünü fərz edəcək ki, bu da `java.lang.ArrayIndexOutOfBoundsException` kimi istisnalara səbəb ola bilər. Eyni problem double, float, long və short qəbul edən `shuffle` funksiyaları istifadə edilərkən də mövcuddur; hər biri eyni problemi törədə bilən müxtəlif vuruculardan istifadə edir. 1.1.10.1 versiyası bu zəiflik üçün yamanı ehtiva edir.
Necə düzəltmək olar
- xerial snappy-java1.1.10.1 və ya daha yeni versiya
- org.xerial.snappy:snappy-java1.1.10.1 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| 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 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.