OpenOffice-də faylı açarkən kodun icrasına imkan verən boşluq

Apache OpenOffice ofis paketində DBF formatında xüsusi hazırlanmış faylı açarkən kodun icrasına imkan verən boşluq (CVE-2021-33035) müəyyən edilib. Problemi aşkar edən tədqiqatçı Windows platforması üçün işləyən eksploit yaratmaq barədə xəbərdarlıq edib. Zəifliyin aradan qaldırılması hazırda yalnız OpenOffice 4.1.11 sınaq qurğularına daxil edilmiş layihə repozitoriyasında yamaq şəklində mövcuddur. Stabil filial üçün hələlik heç bir yeniləmə yoxdur.

Problem, OpenOffice-in DBF fayllarının başlığında olan fieldLength və fieldType dəyərlərinə əsaslanaraq, sahələrdəki faktiki məlumat növünün uyğunluğunu yoxlamadan yaddaş ayırması ilə əlaqədardır. Hücum etmək üçün, siz fieldType dəyərində İNTEGER tipini təyin edə bilərsiniz, lakin daha böyük məlumat yerləşdirə və INTEGER tipi ilə məlumatın ölçüsünə uyğun olmayan bir sahəUzunluğu dəyərini təyin edə bilərsiniz ki, bu da verilənlərin quyruğuna gətirib çıxaracaq. ayrılmış buferdən kənarda yazılan sahədən. Nəzarət olunan bufer daşması nəticəsində tədqiqatçı funksiyadan qaytarma göstəricisini yenidən təyin edə bildi və geriyə yönümlü proqramlaşdırma üsullarından (ROP - Return-Oriented Programming) istifadə edərək, öz kodunun icrasına nail oldu.

ROP texnikasından istifadə edərkən, təcavüzkar öz kodunu yaddaşa yerləşdirməyə çalışmır, lakin yüklənmiş kitabxanalarda artıq mövcud olan maşın təlimatlarının hissələri üzərində işləyir və nəzarət qaytarma təlimatı ilə bitir (bir qayda olaraq, bunlar kitabxana funksiyalarının sonlarıdır). . İstismarın işi istənilən funksionallığı əldə etmək üçün oxşar bloklara (“qadcetlər”) zənglər zəncirinin qurulmasına düşür. OpenOffice istismarında istifadə olunan qadcetlər OpenOffice-də istifadə edilən libxml2 kitabxanasından kodlar idi, OpenOffice-in özündən fərqli olaraq, DEP (Məlumatların İcrasının qarşısının alınması) və ASLR (Ünvan Məkanı Təsadüfi Təsadüfi) mühafizə mexanizmləri olmadan tərtib edilmişdir.

OpenOffice tərtibatçıları problemlə bağlı mayın 4-də məlumatlandırılıb, bundan sonra boşluğun ictimaiyyətə açıqlanması avqustun 30-na planlaşdırılıb. Stabil filialın yeniləməsi nəzərdə tutulan tarixə qədər tamamlanmadığı üçün tədqiqatçı detalların açıqlanmasını 18 sentyabra təxirə saldı, lakin OpenOffice tərtibatçıları bu tarixə qədər 4.1.11 buraxılışını yarada bilmədilər. Maraqlıdır ki, eyni araşdırma zamanı Microsoft Office Access-də (CVE-2021–38646) DBF formatının dəstək kodunda da oxşar boşluq aşkar edilib və onun təfərrüatları daha sonra açıqlanacaq. LibreOffice-də heç bir problem tapılmadı.

Mənbə: opennet.ru

Добавить комментарий