XSS in Etherpad
Es ist wieder soweit, es gibt von einer XSS-Lücke zu berichten. Diesesmal aber keine spezielle Website, sondern gleich ganz viele. Nämlich alle, die Etherpad einsetzen. Das Team ist informiert, nur reagieren tut keiner. Die offizielle Seite schliesst ja eh bald.
Entdeckt wurde der Bug übrigens von @NineBerry im Piratenpad. Also, machen wir es kurz, die Lücke befindet sich in der Datei /src/static/js/broadcast_slider.js in Zeile 145. Dieser Codebereich sorgt für die Ausgabe der Autorenliste im Timeslider. Unter anderem wird dort für Autoren, die ihren Namen angegeben haben, folgender Code ausgeführt:
var nametd = $('<td></td>'); nametd.html(author.name || "unnamed");
Wie man in der zweiten Zeile sehen kann, wird der author.name unescaped als HTML in das Element gepackt.
An alle, die einen Etherpad Server betreiben: Ihr müsst nur diese Zeile ändern in
nametd.text(author.name || "unnamed");
, also aus dem .html ein .text machen! Dann wird der Name nicht mehr ungefiltert ausgegeben.









