proximacentauri schrieb:
Ok, er scheint die /webmail/bin/html2txt.php benutzt zu haben, was die aber genau macht ist mir schleierhaft:
Die wandelt HTML in Plaintext um. In der Datei selber kann man nichts erkennen, da die eigentliche Arbeit im html2text-Objekt stattfindet, dass in program/lib/html2txt.php definiert wird.
Dort wurden die HTML-Tags teilweise mit Hilfe preg_replace und des eval-Flags konvertiert, was es dem Angreifer ermöglicht hat, eigenen PHP-Code in diesen regulären Ausdruck einzuschleusen und ausführen zu lassen.
In http://trac.roundcube.net/changeset/2162 kannst du sehen, dass im Patch alle Regexes, die auf /ie
endeten, gestrichen und durch einen Callback-Mechanismus, der ohne Eval auskommt, ersetzt wurden.
Hier ist der Exploit dazu. Der ausführbare Code wird in ein <b>-Tag eingefügt. Und hier ist der zugehörige CVE-Bericht.
Naja, ist ja auch im Endeffekt egal, die Lücke ist ja jetzt nicht mehr da. Aber irgendwie habe ich den Eindruck das das Ding ziemlich einfach gestrickt ist, wenn ich das richtig sehe dann hätte der Exploit nicht funktioniert wenn Roundcube z.B. in /mailweb oder so gesteckt hätte. Vielleicht sollte man mal ein wenig kreativ sein und sich ungewöhnliche Verzeichnisnamen einfallen lassen. ☺
Das nennt man Security by Obscurity. Mag sein, dass es den einen oder anderen Bot abhält, aber sicherer ist es, rechtzeitig seine Software zu patchen. Es gibt auch noch andere Wege, wie jemand (auch automatisiert) die Seite finden kann, z.B. durch eine Google-Suche nach Willkommen bei RoundCube Webmail.
Ergänzung: Hier (Bugtraq) das Ganze nochmal in einer vielleicht etwas verständlicheren Form, und hier der zugehörige Bugreport im Roundcube-Trac: http://trac.roundcube.net/ticket/1485618