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-2024-XXXXX)

Multiple Cross Site Scipting (XSS) in ILIAS eLearning platform

18.02.2024 - Rene Rehme

Im Zuge eines Penetrationstests haben wir mehrere Sicherheitslücken in ILIAS Version 7.27, 8.8 und 9.0 Beta 2 identifiziert. In dieser Veröffentlichung geht es um mehrere Scross Site Scripting (XSS) Sicherheitslücken. Diese Sicherheitslücke erlaubt es einem Angreifer, clientseitigen Code im Kontext eines Opfers auszuführen.

Responsible Disclosure

18. Jan. 2024 - Die Sicherheitslücke wurde identifiziert.
23. Jan. 2024 - Die Sicherheitslücke wurde an ILIAS gemeldet.
29. Jan. 2024 - ILIAS bestätigt den Erhalt des Reports.
16. Feb. 2024 - ILIAS bestätigt, dass die Sicherheitslücke geschlossen wurde.
16. Feb. 2024 - Patched ILIAS-Release: 8.9, 7.28

Allgemeine Beschreibung

In verschiedenen ILIAS Modulen wurden mehrere XSS Schwachstellen gefunden. Ein Angreifer, mit einem User-Account, kann mit entsprechender Berechtigung Schadcode hinterlegen. Zum Beispiel könnten durch eine erfolgreiche Ausnutzung Rechte eskaliert werden. Bei der Bewertung der Sicherheitslücken wurden keine derartigen Angriffsvektoren berücksichtigt! In den folgenden Aufzählungen handelt es sich um Reflected XSS, wie auch Stored XSS.

Proof of Concept (PoC)

Refinery: Markdown fields susceptible to XSS (CVE-2024-XXXXX)

content image

Über das Eingabefeld Important Information unter dem Reiter Settings einer Personal (Shared) Resource lässt sich reflektiertes XSS auf Basis von Markdown ermöglichen. Eine funktionierende Payload wird durch folgendes Markup ausgeführt: [xss](javascript:alert(1)). Durch die Option Redirect user to the file’s ‘Info’ tab kann Schadcode, nach Veröffentlichung der Resource, potenziell von jedem User ausgeführt werden. Vermutlich kann diese Payload über jeden Bereich, indem die Verwendung von Markup möglich ist, angewendet werden.

XSS in Folder name (CVE-2024-XXXXX)

content image

Wird bei der Erstellung eines Unterordners im Bereich Mail der Titel " onload=alert(1)> angegeben, wird XSS in der Ausgabe ermöglicht. Vermutlich findet diese Payload über jeden Bereich Anwendung, inwelchem Ordner oder andere Objekte erstellt werden können, die in der linken Seitennavigation mit einem Icon dargestellt werden.

Search: XSS in search results page (CVE-2024-XXXXX)

content image

Die Suchfunktion innerhalb eines Forums ist anfällig für XSS. Durch den Suchbegriff "><img src=x onerror=alert(1)> wird XSS in der Ausgabe ermöglicht.

LegacyUIComponents/Tabs: XSS via Query parameter "backurl" (CVE-2024-XXXXX)

content image

Über den HTTP Anfrage-Parameter backurl kann Javascript hinterlegt werden, welches beim Klick auf den Button < Back interpretiert wird. z.B.: 

GET /ilias.php?baseClass=ilrepositorygui&cmdNode=xf:ms&cmdClass=ilObjForumGUI&cmd=showUser&ref_id=111&backurl=javascript:alert(1)&thr_pk=3&user=6 HTTP/1.1
Host: ilias.local:8080

Reflected XSS in Lucene search form (CVE-2024-XXXXX)

HINWEIS: Die Meldung dieser Sicherheitslücke wurde bereits vor mir gemeldet. Credits: Sasi Kumar

content image

In ILIAS 8 kann XSS via POST Request auf ein Suchformular getriggert werden (keine Anmeldung erforderlich):

POST-Request
POST /ilias.php?baseClass=ilsearchcontrollergui&cmdClass=ilLuceneSearchGUI&cmd=postPOST HTTP/1.1
Host: ilias.local:8080

queryString="><script>alert(1)</script>

ILIAS 9 (Beta) Testing

Repository: XSS in navigation node "Last Visited"

content image

Wird ein Ordner im Repository mit dem Titel " onload=alert(1)> erstellt, wird XSS in der Ausgabe ermöglicht, wenn der Tab Last Visited in der linken Navigatonsleiste geöffnet wird. Die Payload wird wie folgt interpretiert:

payload
<img class="icon custom small" src="./templates/default/images/standard/icon_cat.svg" alt="" onload="alert(1)">

UI Components: Tag fields susceptible to XSS

content image

Unter dem Reiter Metadata kann durch das Feld Keywords ebenfalls XSS ermöglicht werden. Die Eingabe "><img src=x onerror=alert(1)> wird in der Ausgabe (über den Info Tab) Interpretiert. Vermutlich kann diese Payload über jeden Bereich, indem Keywords angegeben werden können, angewendet werden.

ILIAS Page Editor: Upload of HTML/JS files (XSS) possible by default

content image

Bei einer Standardinstallation ist  einem regulären Benutzer erlaubt, Dateien mit den Erweiterungen .html und .htm hochzuladen - beispielsweise im Rahmen eines Portfolios über das Content-Element Insert Image/Media . Dies sollte kritisch hinterfragt werden, insbesondere in Anbetracht der Tatsache, dass in neueren Versionen die Funktion HTML / Javascript erlauben in diesem Sinne abgeschafft wurde.

Als Ergebnis bietet dieses Feature per default die Möglichkeit XSS durchzuführen - OHNE (analog zu ILIAS 7) einen Sicherheitshinweis für den Betreiber im Adminbereich.
 

Es besteht zudem keine Möglichkeit dies zu unterbinden. Unter Administration -> File Services kann in den Feldern File Suffixes: Negative List (Removals) und Prohibited File Suffixes zwar die Angabe html html erfolgen, welche aber KEINE Auswirkung auf dieses Uploadformular hat.

Klassifizierung

CWE-20 Improper Input Validation

CWE-79 Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)

Bewertung

Externe Informationen