CVE-2026-33416
Açıklama
LIBPNG; PNG (Portable Network Graphics) raster görüntü dosyalarını okuyan, oluşturan ve işleyen uygulamalarda kullanılmak üzere tasarlanmış bir referans kütüphanedir. 1.2.1 ile 1.6.55 arasındaki sürümlerde, `png_set_tRNS` ve `png_set_PLTE` fonksiyonlarının her biri, bağımsız yaşam sürelerine sahip iki struct arasında tek bir tahsisi paylaşarak `png_struct` ve `png_info` arasında heap üzerinden tahsis edilmiş bir tampon belleği takma adlandırır (alias). `trans_alpha` takma adlandırması en az libpng 1.0 sürümünden beri, `palette` takma adlandırması ise en az 1.2.1 sürümünden beri mevcuttur. Her ikisi de önceki tüm yayın serilerini etkilemektedir. `png_set_tRNS`, `png_ptr->trans_alpha = info_ptr->trans_alpha` (256 baytlık tampon bellek) şeklinde ayarlar ve `png_set_PLTE`, `info_ptr->palette = png_ptr->palette` (768 baytlık tampon bellek) şeklinde ayarlar. Her iki durumda da (`PNG_FREE_TRNS` veya `PNG_FREE_PLTE` ile) `png_free_data` fonksiyonunun çağrılması, tampon belleği `info_ptr` aracılığıyla serbest bırakırken ilgili `png_ptr` işaretçisinin askıda kalmasına neden olur. Sonraki satır dönüştürme fonksiyonları, serbest bırakılan bu belleğe erişir ve bazı kod yollarında buraya veri yazar. `png_set_tRNS` veya `png_set_PLTE` fonksiyonuna yapılan ikinci bir çağrı da aynı etkiye sahiptir çünkü her iki fonksiyon da `info_ptr` tampon belleğini yeniden tahsis etmeden önce dahili olarak `png_free_data` fonksiyonunu çağırır. Sürüm 1.6.56 bu sorunu düzeltmektedir.
Nasıl düzeltilir
- libpng libpng1.6.56 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| libpng libpng | 1.2.1 ≤ v < 1.6.56 | 1.6.56 |
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.