Microsoft Office: Aktueller Schwachstellen-Fix kann VBA-Probleme verursachen
Zum April-Patchday gab Microsoft ein Security-Update gegen die Office-Schwachstelle CVE-2020-0760 frei. Das verursacht aber Probleme mit manchen VBA-Programmen.
![Microsoft Office: Aktueller Schwachstellen-Fix macht VBA-Programme kaputt](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/8/8/0/1/6/1/Arbeitszeit-c278cf15c4bdd385.jpeg)
(Bild: And-One / shutterstock.com)
- Günter Born
Ein von Microsoft am 14. April (Patchday) veröffentlichtes Sicherheitsupdate gegen die Schwachstelle CVE-2020-0760 in Microsoft Office kann Probleme mit Projekten in der Skriptsprache Visual Basic for Applications (VBA) verursachen.
Laut Microsofts Sicherheitshinweis zu CVE-2020-0760 ist die Office-Lücke aus der Ferne ausnutzbar. Sie tritt auf, wenn in Microsoft Office Typbibliotheken falsch ("improperly") geladen werden und lässt sich missbrauchen, sofern der Angreifer den Nutzer zum Öffnen eines speziell präparierten Office-Dokuments bewegen kann. Informationen zu den betroffenen Office-Versionen nebst Links zu Update(s) und Supportbeiträgen sind dem Sicherheitshinweis zu entnehmen.
Das Installieren des Updates ist trotz möglicher VBA-Komplikationen durchaus ratsam – denn tatsächlich werden diese durch einen vom Update mitgebrachten neuen Schutzmechanismus verursacht. Glücklicherweise lassen sich diese Komplikationen zudem recht einfach beheben beziehungsweise schon beim Anlegen der Projekte verhindern. Wir beschreiben zwei mögliche Lösungswege.
Probleme mit bestimmten Dateitypen
Normalerweise werden Typbibliotheken, ActiveX-Steuerelemente und ähnliche im Kontext von VBA-Projekten benötigte Komponenten lokal (z.B. per regsvr32.exe) registriert. Grundsätzlich ist es auch möglich, in VBA-Projekten Referenzen auf Dateien im Intranet und Internet zu setzen. Aus Sicherheitsgründen ist dies aber schon seit langem verpönt.
Das aktuelle Sicherheitsupdate blockiert nun standardmäßig Verweise auf unsichere Speicherorte, wenn diese in Visual Basic for Applications (VBA) Programmen benutzt werden. Microsoft weist daher in einer Office-versionsübergreifenden FAQ zum Update vorsorglich darauf hin, dass es nach der Installation zu Problemen mit bestimmten VBA-Projekten kommen kann. Konkret betroffen seien
- Typelibs (*.olb, *.tlb, *.dll),
- Programme (*.exe) und
- ActiveX-Controls(*.ocx),
sofern diese von als unsicher eingestuften Speicherorten im Internet oder Intranet geladen werden sollen. Beim Übersetzen des VBA-Quellcodes wird dann der Fehler gemeldet, dass die betreffende Bibliothek oder das Projekt nicht gefunden worden sei.
(Bild: support.microsoft.com)
Zwei verschiedene Lösungswege möglich
Die "nachhaltigere" der beiden möglichen Lösungen besteht darin, das VBA-Projekt von vornherein so anzulegen, dass statt der blockierten Referenz nur auf Bibliotheken beziehungsweise Dateien zugegriffen wird, die lokal registriert an sicheren Speicherorten (z.B. vertrauenswürdige Ordner im Intranet) zu finden sind.
Für die Fälle, in denen eine Anpassung des VBA-Projekts nicht möglich ist und die zu ladenden Dateien etwa im Intranet eines Unternehmens abgelegt werden, schlägt Microsoft als zweite Lösung vor, die Sicherheitseinstellungen per Gruppenrichtlinie anzupassen.
Hierzu lädt man, sofern noch nicht erfolgt, die benötigten Gruppenrichtliniendateien (je nach Version etwa für Office 2010 / 2013 / 2016, 2019 und Co.) herunter und entpackt sie in einen lokalen Ordner. Anschließend sind die admx-Dateien aus dem Hauptverzeichnis sowie die Unterordner für de und en entweder in den Central Store des Domänen-Controllers (oder in das Verzeichnis %systemroot%\PolicyDefinitions\ auf dem lokalen Rechner) zu kopieren.
Öffnet man nun den Gruppenrichtlinieneditor gpedit.msc mit administrativen Berechtigungen, lässt sich zu folgendem Zweig navigieren:
Benutzerkonfiguration > Administrative Vorlagen > Microsoft Office 2016 > Sicherheitseinstellungen
Dort ist die Richtlinie "Zulassen, dass VBA-Typblibliotheksverweise über Pfade von nicht vertrauenswürdigen Intranet-Speicherorten lädt" auszuwählen und zu aktivieren. Anschließend sollte es wieder problemlos möglich sein, in VBA-Projekten auf Intranet-Speicherorte zu verweisen beziehungsweise auf diese zuzugreifen.
fdgdfgfdgf
16.04.20, 23:16: Unzutreffende Überschrift geändert, da das Update nichts "kaputtmacht", sondern der neue Schutzmechnismus lediglich (leicht behebbare) Probleme verursachen kann. Text entsprechend ergänzt. (ovw)