Ana Sayfa

Apache FOP ve GhostScript Zafiyeti: Sandbox'ı Aşarak Dosya Erişimi

1 dk okuma

Bir uygulama, kullanıcı tarafından sağlanan XML dosyalarını Apache FOP kullanarak PostScript'e dönüştürüyor ve ardından GhostScript ile PDF üretiyor. PostScript, Turing-tam bir sayfa açıklama dilidir ve temel sistemle etkileşime girebilir. GhostScript, varsayılan olarak etkin olan "-dSAFER" adında bir sandbox mekanizması içerir. Bu sandbox, sistem erişimini kısıtlamayı amaçlasa da, makale yazarı bu korumanın tam olmadığını keşfetmiştir. Özellikle, PostScript aracılığıyla geçici klasörlere erişmek ve bu klasörlerdeki dosyaların içeriğini okumak hala mümkündür; bu durum, belirli bağlamlarda ciddi güvenlik etkileri yaratabilir.

Araştırmacılar, Apache FOP'un PostScript kaçış (escaping) mekanizmasını atlayarak kötü niyetli PostScript kodunun GhostScript'e ulaşmasını sağlayan bir yöntem buldular. Bu bypass, FOP'un kullanıcı girdisinden gelen özel karakterleri düzgün bir şekilde işlemediği durumlarda ortaya çıkıyor. Bir Docker ortamında yapılan testlerde, basit bir XML girdisinin bile sunucuda büyük bir PostScript dosyası oluşturduğu ve bu dosya üzerinden "/tmp" gibi hassas dizinlerdeki bilgilere erişilebildiği gösterildi. Bu güvenlik açığı, Jazzer fuzzer kullanılarak keşfedilmiştir.

Bu zafiyet, kullanıcı kontrollü verilerin işlendiği sistemlerde ciddi bir risk oluşturmaktadır. Makale, GhostScript'in sandbox'ı etkin olsa bile, kullanıcı tarafından sağlanan girdilerin işlenmesinin tavsiye edilmediğini vurgulamaktadır. Keşfedilen bu yöntem, saldırganların sistemdeki geçici dosyaları okuyarak hassas bilgilere ulaşmasına olanak tanıyabilir ve bu da veri sızıntısı gibi sonuçlar doğurabilir.

İçgörü

Apache FOP'un PostScript kaçış mekanizmasındaki bir zafiyet, GhostScript'in sandbox korumasını aşarak hassas dosya erişimine yol açabilir.

Kaynak