CVE-2022-24795
Açıklama
yajl-ruby, YAJL JSON ayrıştırma ve oluşturma kütüphanesi için bir C bağlamasıdır. `yajl` kütüphanesinin 1.x ve 2.x dalları, büyük (~2GB) girdilerle işlem yaparken sonrasında yığın belleği bozulmasına yol açan bir tamsayı taşması içermektedir. `yajl_buf.c#L64` konumundaki yeniden tahsis mantığı, `need` değeri 0x80000000'e (~2GB veri) yaklaştığında 32 bitlik `need` tamsayısının 0'a dönmesine neden olabilir; bu durum buf->alloc'un küçük bir yığın parçasına yeniden tahsis edilmesiyle sonuçlanır. Bu tamsayılar `yajl`'ın 2.x dalında `size_t` olarak tanımlanmıştır, bu da sorunun 64 bit platformlarda tetiklenmesini pratik olarak engeller ancak `size_t` değerinin 32 bitlik bir tamsayı olduğu 32 bit derlemelerde bu sorunun tetiklenmesini önlemez. Eksik tahsis edilmiş bu yığın parçasının sonraki doldurma işlemi orijinal tampon boyutuna dayalıdır ve bu da yığın belleği bozulmasına yol açar. Bu güvenlik açığı çoğunlukla işlem kullanılabilirliğini etkilemektedir. Bakımcılar, rastgele kod çalıştırma amacıyla istismar edilmesinin düşük ihtimal olduğunu düşünmektedir. Bir yama mevcuttur ve yajl-ruby sürüm 1.4.2'nin bir parçası olması beklenmektedir. Geçici çözüm olarak, YAJL'ye büyük girdiler göndermekten kaçının.
Nasıl düzeltilir
- yajl-ruby_project yajl-ruby1.4.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| yajl-ruby_project yajl-ruby | v < 1.4.2 | 1.4.2 |
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.