Python'un en yaygın görüntü işleme kütüphanesi Pillow'da, EPS, JPEG ve TIFF formatlarını etkileyen kritik güvenlik açıkları keşfedildi; 13.0.0 sürümüyle tüm açıklar giderildi.
Yazılım ve Uygulamalar
Admin1 okunma

Python'un Pillow Kütüphanesinde Kritik Güvenlik Açıkları: Saldırganlar Sunucuda Kod Çalıştırabiliyor

Python'un en yaygın görüntü işleme kütüphanesi Pillow'da, EPS, JPEG ve TIFF formatlarını etkileyen kritik güvenlik açıkları keşfedildi; 13.0.0 sürümüyle tüm açıklar giderildi.

Python'un Pillow Kütüphanesinde Kritik Güvenlik Açıkları: Saldırganlar Sunucuda Kod Çalıştırabiliyor

Haber detayı

Python ekosisteminin en çok kullanılan görüntü işleme kütüphanesi Pillow, bir saldırganın sunucuda işletim sistemi komutları çalıştırmasına olanak tanıyan ciddi bir güvenlik açığı içerdiği ortaya çıktı. CVE-2026-112900 olarak kayıt altına alınan bu açık, Pillow'un EPS görüntülerini işleme biçimindeki temel bir eksiklikten kaynaklanıyor. Kütüphane, EPS dosyalarını açarken dosyanın adını herhangi bir doğrulama yapmadan Ghostscript adlı harici programa iletiyor; bu durum saldırganın kontrolündeki bir dosya adının komut olarak yorumlanmasına zemin hazırlıyor. Pillow'un geliştiricileri açığı 16 Ekim'de yayımlanan 13.0.0 sürümüyle kapattı.

Açığın Teknik Boyutu: Sorun Görselde Değil, Dosya Adında​

Güvenlik danışma belgesi açığın işleyişini şu şekilde özetliyor: "Açık, PostScript belgesinin içeriğiyle değil, dosya adıyla tetikleniyor." Bu ayrım kritik önem taşıyor; çünkü görünürde zararsız bir EPS dosyası bile saldırgan tarafından belirlenen bir dosya adıyla sunucuya ciddi zarar verebiliyor. Ghostscript, kendisine iletilen adı bir dosya yolu olarak değil, çalıştırılabilir bir komut dizisi olarak okuyabiliyor ve bu yolla ikinci bir dosyaya yönlendirilerek içindeki komutları işletiyor.
Açık, Pillow'un 2.6.0 sürümünden 12.3.0 dahil tüm sürümlerini etkiliyor. Ghostscript'in sisteme yüklü olmasını gerektirdiğinden yalnızca gs programının kurulu olduğu sunucularda gerçekleşebiliyor; zira Pillow, EPS dosyalarını işleyebilmek için bu programa ihtiyaç duyuyor. Kütüphane geliştiricileri açığı saldırganın dosya adını kontrol etmesi gerektiği gerekçesiyle "orta" düzeyde değerlendirirken GitHub tarafından atanan CVE kaydı buna 10 üzerinden 9,2 puan biçerek kritik sınıfına aldı.

JPEG ve TIFF Formatlarındaki Kritik Açıklar​

Sürüm 13.0.0, yalnızca EPS açığını değil birden fazla formattaki güvenlik sorununu birlikte kapatan kapsamlı bir güvenlik güncellemesi olarak öne çıkıyor. Geliştiricilerin kendi sınıflandırmasında "kritik" düzeyde değerlendirdiği iki ayrı açık da bu sürümle giderildi.
Bunlardan ilki, Pillow'un JPEG kod çözme motorundaki iki taşma açığıyla ilgili. Bu açıklardan biri FlashPix (FPX) formatını etkiliyor: İsteğe bağlı olefile paketi yüklüyken özel olarak hazırlanmış bir dosya üzerinde yalnızca Image.open() çağrısı yapılması, saldırganın komutlarını çalıştırmak için yeterli olabiliyor. Pillow bu dosyaları uzantıya değil içeriğe bakarak tanıdığından, güvenilmeyen yüklemeleri işleyen bir sunucu herhangi bir kullanıcı etkileşimi olmaksızın bu açığa maruz kalabiliyor. İkinci JPEG açığı olan CVE-2026-112403 ise kayıpsız sıkıştırılmış bir JPEG dosyasından küçük resim oluşturulurken bellek tamponunu taşırıyor; danışma belgesi bu açık için kod çalıştırma değil, süreç çökmesi bildiriyor.
CVE-2026-112403 açığının keşfinde dikkat çekici bir ayrıntı var: Danışma belgesi, açığın "Anthropic tarafından Claude kullanılarak açık kaynak yazılımların güvenliğini inceleme amacıyla bulunduğunu ve Ada Logics tarafından manuel olarak doğrulandığını" belirtiyor. Belgeye göre bu çalışma, açık kaynak kütüphanelerde yüzlerce açığın ortaya çıkarılmasını sağlayan kapsamlı bir girişimin parçası.
Üçüncü kritik sorun ise CVE-2026-112393 numaralı TIFF açığı; bu açığın Pillow'da 2013'ten bu yana var olduğu tespit edildi. Sıkıştırılmış bir TIFF görüntüsü diske değil belleğe kaydedildiğinde, yani bir yüklemeyi yeniden kodlayıp geri döndüren servisler için yaygın olan bu senaryoda, bellek tamponu taşıyor. Araştırmacılar bu açıkla süreci çökertebildiklerini, kod çalıştırma aşamasına ulaşmak için ise bellek adreslerini sızdıran ikinci bir açığa ihtiyaç duyduklarını aktarıyor. Diske doğrudan kaydetme bu açıktan etkilenmiyor.

Pillow'un Yaygınlığı Riskin Boyutunu Büyütüyor​

Pillow, Python ile görüntü işleme yapılan neredeyse her ortamda karşımıza çıkıyor: Web yükleme formları, profil fotoğrafı ve küçük resim araçları, belge ve PDF işleme hatları ve makine öğrenimi projelerinin büyük çoğunluğu bu kütüphaneyi kullanıyor. Açıkları kamuoyunun gündemine taşıyan raporu hazırlayan OX Security şirketinin tahminlerine göre kütüphane ayda yaklaşık 436 milyon kez indiriliyor.
Sürüm 13.0.0, düşükten kritike uzanan dört farklı önem düzeyinde düzeltme içeriyor. CISA'nın analistleri CVE kayıtlarında EPS açığı için bilinen bir istismar bulunmadığını, TIFF açığı için ise kamuya açık bir kavram kanıtı mevcut olduğunu belirtiyor. Geliştiriciler, şu ana kadar bu açıklardan herhangi birinin aktif saldırılarda kullanıldığına dair bir bilgiye sahip olmadıklarını açıkladı.

Güncelleme ve Geçici Önlemler​

Tüm bu açıklar Pillow 13.0.0 sürümüne geçişle birlikte kapanıyor. Eski sürüm içeren konteyner, wheel veya temel imajların da yeniden derlenmesi gerekiyor. Pillow 13, Python 3.10 desteğini sonlandırdığından hâlâ 3.10 kullanan kurulumların Python 3.11 veya daha yenisine geçmesi şart.
Güncelleme hemen mümkün değilse geliştiricilerin danışma belgeleri her açık için ayrı geçici adımlar öneriyor. EPS ve Ghostscript açığı için güvenilmeyen yüklemeleri işleyen sunucularda gs programının kaldırılması ve saldırgan kontrolündeki dosya adlarının Image.open()'a hiçbir zaman iletilmemesi tavsiye ediliyor. JPEG küçük resim açığı için güvenilmeyen dosyalar üzerinde draft() ve thumbnail() işlevlerinden kaçınılması ya da önce load() çağrısı yapılması ya da reducing_gap=None parametresinin kullanılması öneriliyor. TIFF açığı için ise kullanıcıdan gelen bir görüntüyü io.BytesIO gibi bellek içi bir tampona kaydetmenin hassas bir işlem olarak ele alınması gerekiyor.

Sıkça Sorulan Sorular​

CVE-2026-112900 açığı tam olarak nasıl çalışıyor?​

Pillow, EPS görüntülerini açarken dosya adını herhangi bir doğrulama yapmadan Ghostscript programına iletiyor. Saldırgan dosya adını kontrol edebildiğinde Ghostscript bu adı komut olarak yorumlayabiliyor ve ikinci bir dosyaya yönlendirilerek içindeki işletim sistemi komutlarını çalıştırabiliyor. Açık, dosyanın PostScript içeriğiyle değil yalnızca adıyla tetikleniyor.

Pillow 13.0.0 hangi tarihte yayımlandı ve hangi sürümleri kapsıyor?​

Pillow 13.0.0, 16 Ekim'de yayımlandı. EPS açığı olan CVE-2026-112900, Pillow'un 2.6.0 sürümünden 12.3.0 dahil tüm sürümlerini etkiliyor.

CVE-2026-112403 JPEG açığı nasıl keşfedildi?​

Danışma belgesine göre açık, Anthropic tarafından Claude kullanılarak açık kaynak yazılımların güvenliğini inceleme amacıyla bulundu ve ardından Ada Logics tarafından manuel olarak doğrulandı. Bu çalışma, açık kaynak kütüphanelerde yüzlerce açığın tespit edilmesini sağlayan daha kapsamlı bir girişimin parçası olarak tanımlanıyor.

Bu açıklar aktif saldırılarda kullanılıyor mu?​

Geliştiriciler, şu ana kadar bu açıklardan hiçbirinin aktif saldırılarda kullanıldığına dair bilgiye sahip olmadıklarını açıkladı. CISA'nın analistleri EPS açığı için bilinen bir istismar bulunmadığını, TIFF açığı için ise kamuya açık bir kavram kanıtı mevcut olduğunu CVE kayıtlarında belirtiyor.

Pillow 13.0.0'a geçiş yapılamıyorsa ne yapılmalı?​

Danışma belgeleri her açık için geçici önlemler sunuyor: EPS açığı için güvenilmeyen yüklemeleri işleyen sunucularda gs programının kaldırılması ve saldırgan kontrolündeki dosya adlarının Image.open()'a iletilmemesi; JPEG küçük resim açığı için güvenilmeyen dosyalarda draft() ve thumbnail() işlevlerinden kaçınılması ya da önce load() çağrısı yapılması; TIFF açığı için ise kullanıcıdan gelen görüntülerin bellek içi tampona kaydedilmesinin hassas bir işlem olarak değerlendirilmesi öneriliyor.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst