Ghostscript açığı CVE-2026-39919: Tek bir PDF bir sunucuyu nasıl ele geçirebilir ve gerçekte kimler risk altında

Sunucu odasındaki bir masada beyaz bir örtünün altında küçük bir hayalet kılığına girmiş yavru kedi, örtünün ucunu kaldıran bir kadın

Çoğu insan Ghostscript’i hiç kurmamıştır ve onu kullandığından haberi yoktur. Yine de bu program çok sayıda sunucunun arka planında çalışır: WordPress’te, belge yönetim sistemlerinde, e-posta ağ geçitlerinde ve “PDF’inizi çevrimiçi sıkıştırın” türü hizmetlerde yüklenen bir PDF’i küçük önizleme görseline dönüştüren odur. Eylül 2026’da programda, özel olarak hazırlanmış bir PDF’in dosyayı işleyen makinede yabancı kod çalıştırılmasına yol açabildiği bir açık kapatıldı.

Aşağıda kesin olarak bilinenler, bilinmeyenler, kendi sunucunuzu nasıl kontrol edeceğiniz ve bu hikâyenin belgelerini işlenmek üzere internete gönderen herkes için ne anlama geldiği yer alıyor.

Kısaca

  • Açık: CVE-2026-39919, Ghostscript’in JPEG 2000 görüntülerini işleyen kısmında bir heap arabellek taşması. Özel hazırlanmış bir görüntü içeren bir PDF yeterli.
  • Etkilenen sürümler: açığı bulanlara göre 9.21’den 10.07.1’e kadar (CVE kaydı genel olarak “10.08.0’dan önceki” diyor).
  • Düzeltme: 8 Eylül 2026’da yayımlanan Ghostscript 10.08.0. Linux dağıtımları düzeltmeyi eski sürüm numaralarına aktarır; bu yüzden önemli olan gs --version çıktısı değil, paketin tam revizyonudur.
  • Önem derecesi: CVE kaydına göre CVSS 3.1’de 9,8, Red Hat’e göre 7,8 (“Moderate”). İki sayı da dürüst; yalnızca farklı senaryoları anlatıyorlar.
  • Gerçek saldırılar: şimdiye kadar doğrulanmış bir saldırı yok. Çalışan istismar kodu laboratuvarda geliştirildi ve belirli bir derlemeye göre ayarlanmıştı.
  • -dSAFER koruma sağlamaz. Hata, korumalı alan (sandbox) açıkken de tetikleniyor.

Ne oldu

Açığı, WordPress güvenliği üzerine çalışan Wordfence şirketi, yapay zekâ destekli test sistemi Argus ile buldu. Tarih 23 Ağustos 2026’ydı ve WordPress 7.1’in güvenlik incelemesi sürüyordu. Araç, yüklenen bir dosyayı onu kabul eden PHP kodunun ötesine kadar izledi: Imagick eklentisinden, ImageMagick’ten geçerek en alttaki Ghostscript’e ve JPEG 2000 kod çözücüsüne kadar.

Ghostscript’i geliştiren Artifex bildirimi ertesi gün doğruladı ve 8 Eylül’de düzeltmeyi içeren 10.08.0 sürümünü yayımladı. CVE kaydı 15 Eylül’de yayımlandı. Wordfence teknik ayrıntıları 12 Ekim’de kamuoyuyla paylaştı; bir gün sonra BleepingComputer ve sektör basınının geri kalanı konuyu ele aldı.

Hata nasıl çalışıyor

Bunu anlamak için C bilmeniz gerekmiyor. Bir görüntü, örneklerden oluşan bir ızgaradır. JPEG 2000, bir görüntünün bileşenlerinin (örneğin parlaklık ve saydamlık) farklı çözünürlüklere sahip olmasına ve tek bir örneğin 8 bitten az yer kaplamasına izin verir. 2 bitlik örneklerden dördü bir bayta sığar.

Araştırmacıların anlattığı örnekte görüntünün bir satırında bu türden 1.024 örnek var. Paketlendiğinde 256 bayt eder ve Ghostscript doğru şekilde 256 bayt ayırır. Ancak yukarıdaki iki koşul aynı anda gerçekleştiğinde, satırı dolduran döngü her bayta dört örnek paketlemek yerine her örnek için tam bir bayt yazar. 256 baytlık arabelleğe 1.024 bayt girer. Her satırdaki fazladan 768 bayt, Ghostscript’in kendi yönetim verilerini tuttuğu belleğin üzerine yazar. Bu baytlar görüntüden geldiği için içeriklerini dosyayı hazırlayan kişi seçer.

Eski bir postanede ahşap mektup gözleri; her gözde bir yavru kedi var, sıranın sonunda yavru kediler yere dökülüyor

Bu, “program çöktü”den “program saldırganın istediğini yaptı”ya giden klasik yoldur. Modern sistemler bu yolu epey zorlaştırır (belleğin rastgele yerleşimi ve diğer korumalar), ama tamamen kapatmaz.

Bir PDF, WordPress’te Ghostscript’e nasıl ulaşır

WordPress PDF önizlemelerini kendisi çizmez. 4.7 sürümünden beri yüklenen bir belgenin ilk sayfasının görüntüsünü oluşturabilir ve bunu başka programların yardımıyla yapar. Zincir şöyledir:

WordPress → PHP Imagick eklentisi → ImageMagick → Ghostscript

Ghostscript ayrı bir süreç olarak, genellikle web sunucusuyla aynı hesap altında çalışır. Yalnızca biri PDF’in görüntüsünü istediğinde başlar. Dosyayı diske kaydedip başka hiçbir şey yapmayan bir form onu hiçbir zaman çalıştırmaz.

Bu yoldan bir saldırı için dört koşulun da aynı anda sağlanması gerekir:

  1. dışarıdan biri (anonim olarak ya da düşük yetkili bir hesapla) PDF yükleyebiliyor,
  2. site bu dosyanın önizlemesini ya da küçük resmini istiyor,
  3. sunucuda bunun için Ghostscript’i çağıran Imagick ya da başka bir araç var ve ImageMagick politikası PDF okumaya izin veriyor,
  4. kurulu Ghostscript’te düzeltme yok.

Önemli bir çekince: standart bir WordPress, anonim ziyaretçilerin ortam kütüphanesine dosya yüklemesine izin vermez. Saldırganın bu yolu açan bir eklentiye, ek alanı olan bir forma ya da bir hesaba ihtiyacı vardır. Wordfence resmî WordPress Docker imajını da inceledi: içinde açık barındıran Ghostscript 10.05.1, Imagick eklentisi ve çalışan bir PDF önizleme yolu vardı. Yine de imaj tek başına anonim bir saldırı için yeterli değildi.

Bir ayrıntı saldırganın işine yarıyor: önizleme oluşturmanın ilk denemesi başarısız olursa WordPress otomatik olarak farklı ayarlarla ikinci kez dener. Yani üç kötü amaçlı ek, altı Ghostscript çalıştırması demektir. Wordfence’in testinde form “yükleme başarılı” demeye devam ederken Ghostscript arka planda sessizce çöküyordu.

Bu, WordPress’in ya da form eklentisinin hatası değildir. Onlar yalnızca dosyanın Ghostscript’e ulaştığı yoldu.

Gerçekte ne kadar tehlikeli

Burada biraz durmakta fayda var, çünkü “tek bir PDF sunucunuzu ele geçiriyor” gibi başlıklar gerçeğin yalnızca yarısını söylüyor.

Neden iki farklı puan. CVE kaydı 10 üzerinden 9,8 (CVSS 3.1) ve 9,3 (CVSS 4.0) veriyor. Bu sayılar en kötü durumu anlatır: ağdan erişilebilen, PDF’leri oturum açmadan ve insan müdahalesi olmadan kabul eden bir uygulama. Red Hat aynı açığa 7,8 veriyor ve “Moderate” diyor, çünkü bir kullanıcının kötü amaçlı bir dosyayı kendi bilgisayarında açtığı senaryoyu puanlıyor. İki puan da yanlış değil; farklı sorulara cevap veriyorlar.

Kaç deneme, kaç başarı. Wordfence laboratuvar derlemesi için iki çalışan istismar kodu hazırladı, sonra bunları on farklı ortamda 10.240 kez çalıştırdı: Debian, Ubuntu, Fedora, AlmaLinux, Alpine ve resmî WordPress konteyneri. Bir kez bile işe yaramadılar. Hazırlandıkları derlemede ise yazı tipleri, dil ayarları ve temel bir sistem kütüphanesi değiştirildikten sonra bile her denemede olmasa da çalışmaya devam ettiler.

Sonucun iki yüzü var. Dünyadaki her sunucuyu açan tek bir dosya yok. Ama belirli bir şirketi ya da yüzlerce sitenin aynı sistem imajı üzerinde çalıştığı bir barındırma hizmetini hedefleyen saldırganın evrensel bir dosyaya ihtiyacı yok. Araştırmacılar, libheif kütüphanesiyle ilgili benzer bir vakada başka bir ekibin yapay zekâ yardımıyla istismar kodunu her yeni hedefe bir iki günde uyarladığını hatırlatıyor.

Hangi yetkilerle. Saldırganın kodu PDF’i işleyen hesapla, genellikle web sunucusunun hesabıyla çalışır. Bu otomatik olarak root demek değildir, ama bu hesap çoğu zaman sitenin dosyalarını, veritabanı parolasını içeren yapılandırma dahil, okuyabilir.

Gerçek saldırılar: bu yazının yazıldığı tarih itibarıyla kimse bu açığın laboratuvar dışında kullanıldığını bildirmedi.

Kendi sunucunuzu nasıl kontrol edersiniz

Dizüstü bilgisayarının başında gözlüklü bir kadın, yanında ekrana dikkatle bakan tekir bir yavru kedi, masada bir büyüteç

Komut satırı erişiminiz varsa üç soruyla başlayın.

1. Burada Ghostscript var mı ve paket revizyonu ne?

  • Debian ve Ubuntu: dpkg -s ghostscript | grep Version
  • Fedora, RHEL, AlmaLinux: rpm -q ghostscript
  • Eksiksiz olsun diye: gs --version, ama bu numara tek başına hiçbir şeyi belirlemez.

Numara neden yetmiyor? Ubuntu 22.04 açığı 9.55.0~dfsg1-0ubuntu5.14 paketinde kapattı; bu paket sürümü sorulduğunda hâlâ “9.55.0” yanıtını veriyor. Debian 13’te düzeltme 10.05.1~dfsg-1+deb13u2 paketinde (DSA-6516-1 bülteni). Red Hat, RHEL 10, 9 ve 8 için düzeltmeleri 1-6 Ekim arasında yayımladı. Debian’ın takip sistemine göre Debian 12 (bookworm) hâlâ açık olarak işaretli. Her zaman kendi dağıtımınızın bülteniyle karşılaştırın.

Ters yönde de bir tuzak var: 10.08.0 sürüm adayı (RC) kendini 10.08.0 olarak gösteriyor ama düzeltmeyi içermiyor. Wordfence’in test makinesinde tam olarak bu sürüm çalışıyordu. Ghostscript’i kaynak koddan derlediyseniz son sürüm olduğundan emin olun.

2. PHP’de Imagick var mı? php -m | grep -i imagick. WordPress yönetim panelinde: Araçlar → Site sağlığı → Bilgi → Ortam işleme. Bu yalnızca bir başlangıç noktası: Imagick’in PDF’i tanıyıp tanımadığını gösterir, Ghostscript’in yamalı olup olmadığı hakkında hiçbir şey söylemez.

3. ImageMagick PDF okuyabiliyor mu? convert -list format | grep -i pdf (ImageMagick 7’de: magick -list format). PDF’in yanındaki rw harfleri Ghostscript’e giden yolun açık olduğu anlamına gelir.

Konteynerler: yeniden başlatmak yetmez. Güncellenmiş bir temel imaj çekin, önbelleğe alınmış katmanlar olmadan yeniden derleyin ve yeniden dağıtın.

Paylaşımlı barındırma: bunu genellikle kendiniz kontrol edemezsiniz. Sağlayıcınıza iki soru sorun: sunucularındaki Ghostscript paketi CVE-2026-39919 düzeltmesini içeriyor mu ve müşterilerin yüklediği PDF’ler sistemlerinin herhangi bir yerinde önizlemeye dönüştürülüyor mu?

Hemen güncelleyemiyorsanız

  • Anonim ziyaretçilerden ve düşük yetkili hesaplardan PDF kabul etmeyi bırakın. Sunucuya ulaşmayan bir dosya Ghostscript’e de ulaşmaz.
  • ImageMagick politikasında PDF okumayı kapatın. policy.xml dosyasında (genellikle /etc/ImageMagick-6/ ya da /etc/ImageMagick-7/ altında) <policymap> bölümüne <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" /> satırını ekleyin. Yan etkisi: WordPress PDF küçük resimleri oluşturmayı bırakır.
  • Gönderim başına dosya sayısını ve yükleme sıklığını sınırlayın. Bu, saldırganın elde ettiği deneme sayısını azaltır ama hiçbir şeyi düzeltmez.
  • Belge dönüştürmeyi yalıtın: sitenin gizli bilgilerine erişimi ve gereksiz ağ bağlantıları olmayan ayrı bir hizmette çalıştırın. Bu hasarı sınırlar ama o da bir düzeltme değildir.

Yapmamanız gereken: -dSAFER‘ı koruma olarak görmeyin. Ghostscript’in korumalı alanı, bir belgenin belgelenmiş PostScript işlevleriyle neler yapabileceğini sınırlar. Bellek bozulmasını engellemez ve testlerde hata korumalı alan açıkken tetiklendi. Hiçbir WordPress eklentisi bunu düzeltemez, çünkü Ghostscript WordPress’ten değil, işletim sisteminden ya da konteyner imajından gelir.

Bu açığı CVE-2026-65640 ile karıştırmayın. O başka bir konu: bir PostScript dosyası yüklenerek WordPress’te uzaktan kod çalıştırma. O da Imagick ve Ghostscript’ten geçer, ancak dosya yükleme yetkisi olan bir hesap gerektirir (genellikle Yazar rolü veya üstü). WordPress 7.0.4’te düzeltildi ve 4.7 dalına kadar geriye aktarıldı.

Bu yalnızca WordPress’in sorunu değil

WordPress, bir yabancının PDF’inin Ghostscript’e ulaşabileceği pek çok yoldan yalnızca biri. Aynısı belge yönetim sistemleri, baskı sunucuları, fatura işleme yazılımları, önizleme oluşturucular, ekleri tarayan e-posta ağ geçitleri ve dosya dönüştürme API’leri için de geçerli. Soru her zaman aynı: bu yazılım başka birinden gelen PDF’leri işleyip görüntülüyor mu?

Kendi uygulamanızın kodunda “Ghostscript” kelimesini aramak hiçbir sonuç vermeyebilir. Genellikle arada ImageMagick ya da başka bir kütüphane vardır ve Ghostscript’i o çağırır.

PDF’leri internete göndermek için bu ne anlama geliyor

Bu hikâyenin daha az konuşulan bir yüzü de var. Tarayıcıdaki “PDF sıkıştır”, “PDF’i görüntüye çevir” ya da “PDF birleştir” hizmeti, yukarıda anlatılan türden bir sunucunun ta kendisidir: yabancılardan dosya kabul eder ve onları söküp yeniden birleştiren araçlardan geçirir. Belgenizin neyle ve hangi sürümle işlendiğini, 8 Eylül’den sonra güncelleme yapılıp yapılmadığını bilmezsiniz. Bildiğiniz şey, dosyanızın en azından bir süre binlerce başka insanın dosyalarıyla aynı makinede durduğu ve bunların bazılarının özel olarak hazırlanmış olabileceğidir.

Bu, her çevrimiçi hizmetin delik deşik olduğu anlamına gelmez. Bir sözleşmeyi, kimlik taramasını ya da tahlil sonuçlarını yüklediğinizde, onları güvenliğini doğrulayamayacağınız bir yere teslim ettiğiniz anlamına gelir. Bu konuda daha fazlası, çevrimiçi dönüştürmede verilerinize ne olduğunu anlatan yazıda.

Dürüst olmak gerekirse, yerel işleme de tanımı gereği bağışık değildir. PDF’leri Ghostscript ile kendiniz sıkıştırıyorsanız 10.08.0 ya da daha yeni bir sürüme güncelleyin. Çevrimdışı çalışmanın avantajı başka yerde: belge bilgisayarınızdan hiç çıkmaz ve onu hangi yazılım sürümünün işleyeceğine hiç tanımadığınız biri değil, siz karar verirsiniz.

PDF’leri sık sık birleştiriyor, bölüyor, şifreliyor ya da Word’e dönüştürüyorsanız, bunu hiçbir yere yüklemeden yapabilirsiniz. PDF Manipulator ücretsizdir, Windows ve Linux’ta çalışır ve her dosya bilgisayarınızda kalır.

Kaynaklar

Yorum yapın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık