Microsoft Office’in Güvenlik Güncellemeleri VBA Programlarının Çalışmasında Hatalara Sebep Oluyor
Microsoft Office’te uzaktan kod çalıştırılabilen bir açığın tespit edilmesinden sonra çıkarılan ve Nisan 2020 tarihine ait güvenlik yamasının bir parçası olan CVE-2020-0760 güvenlik güncellemesi yüklendikten sonra VBA programlarının çalışmasında hatalar oluşabiliyor.
Microsoft Office kullanıcıları ve IT yöneticileri geçtiğimiz Salı günü yayınlanan güvenlik güncellemesi yüklendikten sonra Office programlarında bulunan VBA uygulamalarının çalışması esnasında bazı VBA referanslarının “Compile error: Can’t find project or library” hatası aldığını tespit etti.
Microsoft danışmanlarına göre (*.olb, *.tlb, *.dll) uzantılı kütüphaneleri kullanan VBA programları ile intranet/internet sunucularında bulunan veya internetten indirilen *.exe uzantılı yürütülebilir dosyalar ve *.ocx uzantılı ActiveX kontrollerini içeren dosyalarda bu problem yaşanıyor.
VBA Object Kütüphaneleri nasıl tekrar kullanılabilir
Microsoft, linkte bulunan Office Dev Center makalesinde VBA Object Library referansları ile ilgili olarak detaylı bilgi sağlıyor.
Microsoft’un açıklamasına göre bu hata mesajı, ilgili VBA Object kütüphanesi bulunamadığı zaman verilen standart bir hata mesajı. Bu hata alındığı zaman ilgili VBA uygulamasında hata veren object kütüphanelerinin uygulamanın çalıştığı makinenin kendi lokalinde bulunan object kütüphaneleri ile değiştirilmesi gerekiyor.
İnternette bulunan object kütüphaneleri ile ilgili olarak ise Microsoft bu tip kütüphane referanslarının bloklanmaya devam edilmesini öneriyor. Bu tip internet üzerinden çalışan object kütüphaneleri VBA uygulamalarını uzaktan kod çalıştırma zaafiyetlerine açık hale getiriyor.
Şirketlerin yerel ağları ve diğer intranet ağlarda bulunan object kütüphaneleri de Group Policy vasıtasıyla Microsoft Office 2016 güvenlik ayarları değiştirilerek kullanılabilir hale getirilebilir.
Aşağıdaki resimde de gösterildiği gibi User Configuration > Administrative Templates > Microsoft Office 2016 > Security Settings menüsünden VBA uygulamlarının yerel ağ bağlantıları üzerindeki object kütüphanelerini güvenilir kaynak olarak görmesi sağlanabilir.
Bu problem Microsoft’un güvenlik güncellemelerini yayınladıktan sonra ortaya çıkan sorunlara ilk örnek değil. Geçen yıl da benzer şekilde Ağustos 2019 güvenlik güncellemeleri yayınlandıktan sonra VBA Visual Basic 6 uygulamalarında, VBA Makrolarda ve VBScript script dosyalarının çalıştırılmasında “invalid procedure call” hatalarına rastlanmıştı. Hataların görülmesinini ardından Microsoft, iki gün sonra çıkardığı yeni bir güncelleme ile problemin giderilmesini sağlamıştı.