|
Cross Site Forgery in JPodium |
|
|
|
Geschrieben von Uwe Walter
|
|
Dienstag, 06.07.2010 |
|
In der Joomla!™ Komponente JPodium 0.9.015 wurde eine Sicherheitslücke1 gefunden, durch die ein entfernter Angreifer angeblich über den Parameter Itemid gefährlichen SQL Code in das System einschleusen können soll. Reporter dieses Bugs ist ein Mitglied des algerischen Hackerteams, dem scheinbar das nötige Hintergrundwissen fehlt.
Nach eingehender Prüfung der Komponente konnten wir diese Sicherheitslücke jedoch nicht betsätigen. Es war uns definitiv nicht möglich, über den Parameter Itemid SQL Code in die Datenbank zu injizieren. Dieser Parameter wird auch gar nicht in Datenbankabfragen benutzt.
Wie uns bei der weiteren Durchsicht der JPodium2 Quellen jedoch auffiel, gibt es kritische Sicherheitslücken im Backend der Komponente! Und zwar handelt es sich hierbei um diverse Cross Site Forgery Request (CSFR)3 als auch SQL Injection4 Bugs.
So werden nach Übetragung der Formulardaten aus den Tabellenansichten die CIDs in Arrays geladen, jedoch nicht korrekt validiert bevor sie in den Datenbankabfragen verwendet werden. Weiter wird nur im Formular der Defaultansicht (Kontrollzentrum) ein eindeutiger Schlüssel (Token) eingetragen, der jedoch nach der Übertragung nicht abgeprüft wird. Eine Tokenprüfung findet dabei lediglich im Klassen-Controller statt, jedoch fehlt hier das Token im Formular der Tabellenansicht.
Ein entfernter Angreifer hat somit die Möglichkeit, über speziell präparierte Weseiten, die mit dem entsprechenden JavaScript Code infiziert sind, zum Server zu übertragende Daten zu manipulieren oder geährlichen SQL Code in die Datenbank einzuschleusen. Es wird daher dringend empfohlen, während einer bestehenden Backendsitzung derzeit keine anderen Webseiten anzusurfen.
Links:
|