Linux’ta yaygın olarak kullanılan PostScript dili ve PDF dosyaları için açık kaynaklı bir yorumlayıcı olan Ghostscript’in, kritik düzeyde uzaktan kod yürütme kusuruna karşı savunmasız olduğu bulundu.
Kusur, CVSS v3 derecesi 9.8 olan CVE-2023-3664 olarak izleniyor ve Ghostscript’in üç hafta önce yayınlanan en son sürüm olan 10.01.2’den önceki tüm sürümlerini etkiliyor.
Güvenlik açığı için bir kavram kanıtı (PoC) istismarı geliştiren Kroll analistleri G. Glass ve D. Truman’a göre, kötü amaçlı, özel hazırlanmış bir dosya açıldığında kod yürütme tetiklenebilir.
Ghostscript’in çok sayıda Linux dağıtımında varsayılan olarak yüklü olduğu ve LibreOffice, GIMP, Inkscape, Scribus, ImageMagick ve CUPS yazdırma sistemi gibi yazılımlar tarafından kullanıldığı düşünülürse, çoğu durumda CVE-2023-3664’ü tetikleme fırsatları bol miktarda bulunur.
Kroll ayrıca, bir Ghostscript bağlantı noktası kullanıyorsa, sorunun Windows’taki açık kaynaklı uygulamaları da etkilediğini söylüyor.
Ghostscript kusuru
CVE-2023-3664 kusuru, farklı uygulamaların çıktıları birinden diğerine girdi olarak ileterek veri alışverişinde bulunmasına izin veren işletim sistemi borularıyla ilgilidir.
Sorun, Ghostscript’teki birden fazla yol alıyor gibi görünen ve verimlilik için göreli yol referanslarını kaldırarak bunları birleştiren ve basitleştiren “gp_file_name_reduce()” işlevinden kaynaklanmaktadır.
Bununla birlikte, güvenlik açığı bulunan işleve özel olarak hazırlanmış bir yol verilirse, bu, doğrulama mekanizmalarının geçersiz kılınmasına ve potansiyel istismara yol açacak şekilde beklenmedik sonuçlar verebilir.
Ek olarak, Ghostscript bir dosyayı açmaya çalıştığında, konumunun güvenli olup olmadığını kontrol etmek için “gp_validate_path” adlı başka bir işlevi kullanır.
Bununla birlikte, güvenlik açığı bulunan işlev, ikinci işlevin kontrolünden önce konum ayrıntılarını değiştirdiğinden, bir saldırganın boşluktan yararlanması ve Ghostscript’i sınır dışı olması gereken konumlardaki dosyalarla uğraşmaya zorlaması önemsizdir.
Kroll’un analistleri, Ghostscript kullanan herhangi bir uygulamada bir EPS (Gömülü Postscript) dosyası açarak tetiklenen bir PoC oluşturdu.
Aşağıdaki tanıtım videosunda, araştırmacılar hesap makinesini açma veya kullanıcıya diyalogları görüntüleme gibi eylemleri gerçekleştirerek Windows’ta Inkscape’teki istismarı sergiliyor.
Linux kullanıcılarının dağıtımlarının paket yöneticisini kullanarak Ghostscript’in en son sürümü olan 10.01.2’ye yükseltmeleri önerilir.
En son Ghostscript, dağıtımınızın yazılım kanallarında henüz kullanıma sunulmadıysa, onu kaynak kodundan derlemeniz önerilir.
Ne yazık ki, Windows’ta Ghostscript bağlantı noktalarını kullanan açık kaynaklı yazılımlar, aracın en son sürümüne geçmek için doğal olarak daha fazla zamana ihtiyaç duyacaktır. Bu nedenle, Windows’ta kurulumlarda ekstra dikkatli olunması önerilir.
CVE-2023-3664’ün algılanmasına yardımcı olmak için Kroll, bu GitHub deposunda Sigma kurallarını paylaştı.