Tuenti ist eine spanische “social network” Plattform, welche mit 14 Millionen Nutzern zu den größten sozialen Netzwerken im spanischsprachigen Raum gehört. Das Netzwerk bietet insbesondere für junge Personen und Studenten interessante Webapplikationen, welche Kommunikation grundsätzlich erleichtern sollen. Zudem gehört Tuenti zu den Unternehmen bei denen Sicherheit groß geschrieben wird,. deshalb gibt es dort ein sogenanntes “Responsible Disclosure” Programm, an dem wir natürlich auch gerne teilgenommen haben.
Als wir uns die Webseite des Netzwerkes anschauten, entdeckten wir zunächst ein Problem im Captcha-System. Das Captcha wurde über ein PHP Script “on-the-fly” erzeugt, in dem ein eindeutiger Hash übergeben wurde. Dieser Hash wurde im gleichen Formular als verstecktes Feld mitgeschickt. Unsere Tests ergaben zunächst, dass durch die Kenntniss einer Lösung zu einem bestimmten Hash man die Captcha-Abfrage praktisch umgehen konnte, in dem man jedes Mal die bekannte Lösung und den bekannten Hash übermittelte. Dadurch wäre es beispielsweise möglich gewesen Bots zu programmieren, welche automatisch das social Network mit unerwünschten Inhalten vollgespammen hätten.
Wir kontaktierten Tuentis Security Team am 1 Mai und erhielten eine erste Antwort 5 Täge später. Man sagte uns, dass man das Problem verifizieren könne, und nun dabei sei, dieses zu beheben. Nach weiteren 10 Tagen ohne Rückmeldung fragten wir nach einem Statusupdate zur Lücke, und man erklärte uns, dass wir ggf. ein “größeres” Problem im Captcha-System entdeckt hätten. Die CSRF Lücke zum Ändern der Sprache, welche wir auch gemeldet hatten, sehe man jedoch als unkritisch an und versprach, weitere Nachforschungen zu bertreiben, um uns daraufhin zu informieren.
Bereits einen Tag später erhielten wir die enttäuschende Nachricht, dass sich unser Fund als ungültig herausstellte, da die Hashwerte nach einem Lösungsversuch invalidiert.
Nach einer Woche Pause warfen wir erneut einen Blick auf die Webseite, und diesmal entdeckten wir ein Cross Site Scripting Lücke bei der Uploadfunktion unter “upload.tuenti.com”. Gab man nämlich im Post-Request eine ungültigen “phoneCountryId” an, so reagierte das Script mit einer:
1
|
|
Der Content-Type war auf text/html gesetzt und die ungültige “phoneCountryId” wurde in der Fehlermeldung wiedergegeben, sodass wir die glücklichen Finder einer Post-XSS wurden. Diese Lücke meldeten wir am 25 Mai, erhielten am 27.05.2013 eine Bearbeitungsbestätigung, und abschließend den Fix am 29 Mai.
Man bedankte sich sehr für den Hinweis und listet uns nun in Tuentis Hall of Fame. Die Kommunikation war die ganze Zeit angenehm, und wir können Tuentis Security Team nur weiterempfehlen :)
Damit schließen wir diesen Fall ab.
Das Team der Internetwache.org
Screenshots: