OpenOffice'te bir dosyayı açarken kod yürütülmesine izin veren güvenlik açığı

Apache OpenOffice ofis paketinde, DBF formatında özel olarak tasarlanmış bir dosyayı açarken kod yürütülmesine izin veren bir güvenlik açığı (CVE-2021-33035) belirlendi. Sorunu keşfeden araştırmacı, Windows platformu için çalışan bir güvenlik açığı oluşturma konusunda uyardı. Güvenlik açığı düzeltmesi şu anda yalnızca OpenOffice 4.1.11'in test yapılarına dahil edilen proje deposundaki bir yama biçiminde mevcuttur. Henüz kararlı şube için güncelleme yok.

Sorun, OpenOffice'in alanlardaki gerçek veri tipinin eşleşip eşleşmediğini kontrol etmeden, bellek tahsis etmek için DBF dosyalarının başlığındaki fieldLength ve fieldType değerlerine dayanmasından kaynaklanıyor. Saldırı gerçekleştirmek için fieldType değerinde bir INTEGER türü belirtebilirsiniz ancak daha büyük veri yerleştirip INTEGER türü ile verinin boyutuna karşılık gelmeyen bir fieldLength değeri belirleyebilirsiniz, bu da verinin kuyruğuna yol açacaktır. tahsis edilen arabelleğin ötesinde yazılan alandan. Kontrollü arabellek taşmasının bir sonucu olarak araştırmacı, işlevden dönüş işaretçisini yeniden tanımlamayı başardı ve dönüş odaklı programlama tekniklerini (ROP - Dönüş Odaklı Programlama) kullanarak kodunun yürütülmesini sağladı.

ROP tekniğini kullanırken, saldırgan kodunu belleğe yerleştirmeye çalışmaz, ancak yüklü kitaplıklarda zaten mevcut olan ve bir kontrol dönüş talimatıyla biten makine talimatları parçaları üzerinde çalışır (kural olarak, bunlar kitaplık işlevlerinin uçlarıdır) . İstismarın işi, istenen işlevselliği elde etmek için benzer bloklara (“araçlar”) bir çağrı zinciri oluşturmaktır. OpenOffice istismarında kullanılan gadget'lar, OpenOffice'te kullanılan libxml2 kitaplığının koduydu ve OpenOffice'in kendisinden farklı olarak DEP (Veri Yürütme Engellemesi) ve ASLR (Adres Alanı Düzeni Rastgeleleştirme) koruma mekanizmaları olmadan derlendi.

OpenOffice geliştiricilerine sorun 4 Mayıs'ta bildirildi ve ardından güvenlik açığının kamuya açıklanmasının 30 Ağustos'ta yapılması planlandı. Kararlı şubeye yapılan güncelleme planlanan tarihe kadar tamamlanmadığından, araştırmacı ayrıntıların açıklanmasını 18 Eylül'e erteledi ancak OpenOffice geliştiricileri bu tarihe kadar 4.1.11 sürümünü oluşturmayı başaramadı. Aynı araştırma sırasında, detayları daha sonra açıklanacak olan Microsoft Office Access'teki DBF formatı destek kodunda (CVE-2021–38646) benzer bir güvenlik açığının tespit edilmesi dikkat çekicidir. LibreOffice'de herhangi bir sorun bulunamadı.

Kaynak: opennet.ru

Yorum ekle