Ghostscript'te kod yürütülmesine izin verebilecek bir güvenlik açığı bulundu

Birkaç önce haberleri yayınladıkları günler tanımlanandan Ghostscript'te bir güvenlik açığı (CVE-2020-15900) ne olabilir dosya değişikliğine ve keyfi komut yürütmesine neden olur özel olarak biçimlendirilmiş PostScript belgelerini açarken.

Ghostscript'e aşina olmayanlar için bunu bilmeli bu, Postscript ve PDF içeriği için bir oluşturma motorudur ve genellikle PDF ve Postscript belgelerini önizleme, küçük resim ve yazdırma amacıyla görüntülere dönüştürmek için kullanılır.

Ayrıca, Android'deki popüler görüntüleyiciler de dahil olmak üzere birçok PDF görüntüleyicisi için tam kaliteli belge yeniden üretimi için kullanılır ve bulutta işleme için Google gibi birkaç büyük şirket tarafından lisanslanmıştır.

Ghostscript'teki güvenlik açığı hakkında

Hata, arama operatörünün kullanımında tespit edildi Standart olmayan PostScript uint32_t türünde taşmaya neden olan bir belgede boyutu hesaplarken, arabellekteki bellek alanlarının üzerine yaz sistemde rasgele kod yürütmek için bir saldırı hazırlamak için kullanılabilen dosya sistemindeki dosyalara atanır ve bu dosyalara erişim kazanır (örneğin, ~ / .bashrc veya ~ / .profile komutlarına komutlar ekleyerek).

AFL tarafından bulunan pasaj, yığına boş bir dizge itti: boş parantezler (), buna referansı kopyaladı, sonuçta iki boş dizeyle () () bir yığınla sonuçlandı ve ardından geriye doğru arama yaptı. Başka bir deyişle, sondan başlayarak boş bir dizede boş bir dizge arıyordu.

Ne yazık ki, boş dizenin arandığı bir sınır durumunu kaçırdılar. Boş bir dizge ararken, bu anında başarı olarak tanımlanır: Aranacak hiçbir şey yoktur, bu yüzden sonuna atlarız. Bununla birlikte, sonuç maç öncesi, maç ve maç sonrası değerlere bölünmelidir. Maalesef kod, en az bir kez baktığımızı ve maç sonrası sonucun uzunluğunu sıfırdan bir çıkararak yanlış hesapladığımızı varsayıyordu ve sonuçta maksimum değere dönüş sağlandı: 4,294,967,295.

Bu hata bir arıza olasılığının olduğu bir bellek bozulması hatasıdır ve her zaman olur. Yığın korumaları vb. İle uğraşmanıza gerek yok, sadece büyük bir bellek bölümüne istediğinizi okuyun ve yazın. Bu, deneyimli bir istismar yazarı olmayan birinin bundan yararlanmasını oldukça kolaylaştırdı.

Bu alttan taşma nedeniyle, bu dize hiçbir zaman tahsis edilmemiş ve gerçek yer kaplamamıştır, ama başka bir anıya kadar uzanan bir uzunluğu vardı. Bu hafızayı rastgele adreslerde okumaya veya yazmaya çalışmak, hafıza limitlerinin dışına çıkacaktır, bu nedenle tüm tüyler ürpertici hatalar. Ancak, bu kod parçacığını kullanarak kullanımına izin vermek için referansı saklayabiliriz:

Dikkate almak önemlidir Ghostscript'teki güvenlik açıkları daha ciddidirBu paket birçok popüler PostScript ve PDF işleme uygulamasında kullanıldığından. Örneğin, Ghostscript masaüstünde küçük resimler oluştururken, arka planda veri indekslerken ve görüntüleri dönüştürürken çağrılır.

Başarılı bir saldırı için, çoğu durumda, istismar dosyasını indirmek veya Nautilus'ta onunla dizine göz atmak yeterlidir.

Ghostscript'teki güvenlik açıkları, görüntü sürücüleri aracılığıyla da kullanılabilir. ImageMagick ve GraphicsMagick paketlerine bağlı olarak, bir resim yerine PostScript kodu içeren bir JPEG veya PNG dosyası iletir (MIME türü içerik tarafından tanındığından ve uzantıya bağlı olmaksızın bu dosya Ghostscript'te işlenecektir).

Çözüm

Sorun 9.50 ile 9.52 arasındaki sürümleri etkiliyor (Hata, 9.28rc1 sürümünden beri var, ancak güvenlik açığını belirleyen araştırmacılara göre, 9.50 sürümünden beri ortaya çıkıyor).

Ancak buna ek olarak 9.52.1 sürümünde bir düzeltme önerildi vegüncellemeler yayınlandı Debian, Ubuntu ve SUSE gibi bazı Linux dağıtımları için yama paketleri.

Halbuki RHEL'deki paketler etkilenmez.

kaynak: https://insomniasec.com


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.