Weitere Veröffentlichungen

In unserem Labor schreiben wir regelmäßig in Form von Blogbeiträgen über identifizierte Sicherheitslücken, welche nach dem Responsible Disclosure Verfahren veröffentlicht werden.

Veröffentlichung (CVE-2023-45867)

Local File Inclusion in ILIAS eLearning platform

26.10.2023 - Rene Rehme

Im Zuge eines Penetrationstests wurde eine Local File Inclusion (LFI) Sicherheitslücke in ILIAS Version7.25 (2023-09-12 Release) entdeckt. Eine Ausnutzung hat zudem zur Folge, dass durch den Angreifer definierte Dateien bzw. ganze Verzeichnisse verschoben werden (Arbitrary File Movement) Für die Ausnutzung der Sicherheitslücke werden keine Administrator-Rechte benötigt.

Responsible Disclosure

25. Sep. 2023 - Die Sicherheitslücke wurde identifiziert.
26. Sep. 2023 - Die Sicherheitslücke wurde an ILIAS gemeldet.
29. Sep. 2023 - ILIAS bestätigt den Erhalt des Reports.
06. Okt. 2023 - ILIAS bestätigt, dass die Sicherheitslücke geschlossen wurde.
23. Okt. 2023 - Patched ILIAS-Release: 8.6, 7.26

Allgemeine Beschreibung

Eine Local File Inclusion Schwachstelle wurde im Modul ScormAicc gefunden. Ein Angreifer, mit einem privilegierten Account, kann mit entsprechender Berechtigung potenziell den Inhalt jede auf dem Webserver abgelegten Datei, welche mit dem Webserver-User www-data gelesen werden kann, abrufen. Zum Beispiel Konfigurationsdateien oder auch Dateien außerhalb des documentRoot.

Proof of Concept (PoC)

Zu sehen ist, wie die Systemdatei  /etc/passwd , welche außerhalb des documentRoot liegt und eigentlich nicht öffentlich abrufbar ist, ausgelesen wird.

Reproduktion der Sicherheitslücke

Reproduktionsschritte

Schritt 1:

Installieren Sie eine ILIAS Version7.25 (2023-09-12 Release) Instanz auf einem Testsystem.

 

Schritt 2:

Loggen Sie sich mit einem User Account ein, der die Rechte Einstellungen bearbeiten: ILIAS-Lernmodul bearbeiten besitzt.
 

  1. Navigieren Sie auf Magazin
  2. Klicken Sie auf den Button Neues Objekt hinzufügen
  3. Erstellen Sie ein neues SCORM-Lernmodul über Option 2: Neues SCORM-Lernmodul anlegen.
  4. Navigieren Sie auf den Tab Export
  5. Kopieren Sie den Link, welcher unter Download hinterlegt ist. (Rechtsklick -> Link kopieren).


Der Download-Link ist (z.B.) wie folgt aufgebaut:

URL
http://ilias.local/ilias.php?ref_id=157&file=1697232056__0__sahs_671.zip&type=SCORM%202004%203rd&cmd=downloadExportFile&cmdClass=ilobjscorm2004learningmodulegui&cmdNode=wz:q3&baseClass=ilsahseditgui

Modifizieren Sie den URL-Parameter file, um via Directory Traversal z.B. auf die Systemdatei /etc/passwd zuzugreifen:

URL
https://ilias.local/ilias.php?ref_id=157&file=../../../../../../../../etc/passwd&cmd=downloadExportFile&cmdClass=ilobjscorm2004learningmodulegui&cmdNode=wz:q3&baseClass=ilSAHSEditGUI

Je nachdem unter welchem Pfad die Ilias Instanz installiert wurde, müssen entsprechend ../ in der URL erweitert oder entfernt werden.

Bewertung

Exploitability Metrics

Attack Vector (AV): N
Es handelt sich um einen Netzwerkangriff. Die verwundbare Komponente ist "aus der Ferne ausnutzbar" und wird als ein Angriff betrachtet, der auf Protokollebene über das Internet stattfindet.
 

Attack Complexity (AC): L
Besondere Zugangsbedingungen oder mildernde Umstände bestehen nicht.
 

Privileges Required (PR): L
Der Angreifer benötigt Privilegien, die grundlegende Benutzerfunktionen eines Users bereitstellen. Für eine Ausnutzung reicht i.d.R die "Tutoren" Rolle.
 

User Interaction (UI): N
Es ist keine User-Interaktion durch ein Opfer notwendig.
 

Scope (S): U
Die anfällige und betroffene Komponente ist die Webanwendung.
 

Confidentiality (C): H
Bei einem erfolgreichen Angriff kommt es zu einem totalen Verlust der Vertraulichkeit. Ressourcen innerhalb der betroffenen Komponente und weiterführend Komponenten des Betriebssystems werden dem Angreifer bei gegebenem Lesezugriff und entsprechender Berechtigung durch den Webserver-User www-data offengelegt, indem Verzeichnisse mit Dateien an einen öffentlich abrufbaren Ort verschoben werden.
 

Integrity (I): N
Bei einem erfolgreichen Angriff kommt es zu keinem Verlust der Integrität. Der Angreifer ist nicht in der Lage, Dateien zu verändern. Vermutlich könnte ein Angreifer durch das Verschieben von Konfigurationsdateien an Zugänge gelangen, die Zugriff auf weitere Komponenten zur Folge haben (siehe PoC Bild). Es ist demnach po­ten­zi­ell möglich, dass ein Angreifer Daten oder Dateien durch eine weiterführende Eskalation verändern kann. Dies ist aber spekulativ.
 

Availability (A): H
Bei einem erfolgreichen Angriff ist der Angreifer ist in der Lage, den Zugang zu den Ressourcen der betroffenen Komponente und weiterführend aus Komponenten des Betriebssystems durch das Verschieben (und nachträglich löschen) von Verzeichnissen vollständig zu verweigern.

Externe Informationen