8:29
3/3/2010

Ukazał się nowy exploit na 0day w przeglądarkach Firefox 3.6 i Opera.

DoS na Firefoksie i Operze

Aby przeprowadzić atak DoS (w tym przypadku: crash przeglądarki) należy zmusić użytkownika do otworzenia odpowiednio spreparowanej strony. Na stronie znaleźć musi się skrypt, który poprzez funkcję document.write() spróbuje wyświetlić długi String.

Działanie exploita możesz sprawdzić klikając tutaj – po 15 sec. twój Firefox zdechnie.

Odkrywcą błędu jest Asheesh Kumar Mani Tripathi.

P.S. Parę dni temu Maurycy Prodeus ujawnił 3 letniego exploita na IE. Microsoft zdążył już odpowiedzieć, dając kilka rad, jak uniknąć ataku, m.in. “nie wciskaj F1” ;-) My do słów Microsoftu dorzucimy tylko: zablokujcie wyjście samby na świat na swoim firewallu. Dzięki temu atakujący nie zmusi ofiary do otworzenia złośliwego pliku z zewnętrznego serwera.

Przeczytaj także:

58 komentarzy

Dodaj komentarz
  1. U mnie firefox 3.6 pod Linuksem mieli mieli, a potem wyświetla pustą stronę (choć pasek przewijania poziomego wygląda na kosmicznie długi… o, jest coś, czarny pasek u góry po przewinięciu strony w prawo).

    Coś kulawy ten exploit.

    • Na Maku też mieli zdecudowanie dłużej niż 15 sec, ale w końcu robi papa. BTW, jak mieli, to system nabiera multitaskingu jak Windows, czyt. nic się nie da zrobić bez minutowego laga ;-)

  2. Wersja 3.6.2pre pod 64 bitowym Ubuntu nie jest podatna na ten atak ;)

  3. Opera 10.5-obciążenie wzrosło do 99%, pamiec do 400mb. IE 6-luzik… :) Jak blokuje sie sambe?

  4. Crash? W drugim tabie mam odpaloną tą stronę co niby ma crashowac od 5 minut i spokojnie piszę ten komentarz. Występuje tylko niewielkie zamulenie przy przechodzeniu miedzy tabami. Użytkownik prędzej zamknie tą stronę z braku interesującego contentu niż wywali mu ona firefoxa ;]

  5. Rufus: chyba, że to iframe :>
    BTW, napisz z jakiego systemu i przeglądarki korzystasz, żebyśmy mogli tu zbudować crowsourcingowe środowisko testowe ;-)

  6. Bylo w poście powyżej tyle ze w nawiasach \< i parser to wyciął.

    2.6.30 #12 SMP Thu Jan 7 15:46:40 CET 2010 x86_64 Intel(R) Core(TM)2 Duo CPU E7200 @ 2.53GHz GenuineIntel GNU/Linux

    Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100222 Gentoo Firefox/3.6

  7. Na macintoshu z 10.6 Firefox 3.4skrypt mieli długo, potem pojawia się biła strona albo komunikat, że skrypt nie odpowiada i pytanie czy próbować kontynuować wykonywanie skryptu.

    Władysław

  8. XPH-SP3, Opera 10.10 – zużycie pamięci przez Operę momentalnie wzrosło z ~200 do ~650 MB, po czym zamarzła. Ale dopiero za drugim razem, za pierwszym wróciła do życia i oddała pamięć. Wyniki mógł zmienić aktywny UserJS Seobar, który przez cały czas stał na łączeniu się.

  9. FF 3.5.8 z Vistą SP1 – po dłuższej chwili(zostawiłem w innej zakładce) był crash,a najlepsze było to,że wywalało zawsze po starcie z “zapamiętaniem tabów” – fiuczer pt.”Któraś z zakładek blokuje start” w FF jednak się przydaje.

  10. Może ktoś powiedzieć jakie niebezpieczeństwo niesie ze sobą DoS w przeglądarce?

  11. Firefox 3.5.8 -> upadł po 30s na XP Home,
    Opera 10.50 -> stoi i ma się dobrze na Gentoo,
    Opera 10.10 -> leży na mac os X po 3-4 min.

  12. @czubakabra: Wyobraź sobie sytuację że przeglądasz na raz w dziesięciu tabach niezwykle interesujące strony. I otwierasz kolejnego taba który crashuje Ci firefoxa, a Ty nie zdążyłeś dodać sobie tych ciekawych stron do delicious’a. Otwierasz ponownie firefoxa w nadziei że zapamiętał otwarte uprzednio taby i przywróci je w recovery mode, ale okazuje się że tak się nie stało. Jesteś załamany i sfrustrowany.

  13. Moja opera mieliła parę minut (CPU ok. 50%, pamięć na oko dodatkowe 400 MB, Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15 Version/10.10) i na koniec wyświetliła dużo znaków X. Dałem wstecz i piszę ten komentarz — a więc działa. To co z tym błędem?

  14. Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.0.7
    Pasek poziomy wskazuje, że coś się w poziomie rozciągnęło. Trochę przymuliło przeglądarkę (jakieś 20s) potem wróciło do normy. Sam system zachowuje się normalnie więc taki z tego DoS jak DOS 6.22 :)

  15. Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100130 Gentoo Firefox/3.6, odporne na atak:) pomieliło parę sekund, wyświetliło szeroką stronę. Jedyny objaw, to ogólne zamulenie, bo proces przeglądarki zaczął wypychać inne do swapa.

  16. @Rufus: Z perspektywy atakującego taki atak wydaje się być pozbawony sensu, nie potrafię wyobrazić sobie zysków jakie miałby on przynieść. Zwykły crash bez możliwości odpalenia dowolnego kodu w niektorych przypadkach można uznać za błąd związany z bezpieczeństwem (oprogramowanie serwerowe, antywirusy, kernel), ale eksytowanie się takimi błędami w przeglądarkach (uwielbiam te raporty w komentarzach) jest chyba nieco przesadzone. Co do samego 0daya – to przeciez zwykła pętla tworząca długi string i wypisywanie go na ekranie. Za “0day crash bug” w takim razie mozna uznać każdy kod ktory alokuje dużo pamięci i używa zasobożernych funkcji przegladarki?

  17. Ubuntu 9.04 + Firefox 3.0
    Sypie się krócej niż 15 sekund.

  18. Przydało by się więcej informacji np dump debugera
    Tak to nie do końca wiadomo czy można coś z tego wyczarować

  19. “Działanie exploita możesz sprawdzić klikając tutaj – po 15 sec. twój Firefox zdechnie.”

    No cos mu sie nie pali. Moze to przez to, ze korzystam z podbitej kevlarem wersji
    FF, a do tego egzekucja skryptow jest scisle kontrolowana.

  20. Mac OS X 10.5.5 (iDeneb)
    Firefox 3.5.7 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7)

    Dwie sekundy po otwarciu zawieszenie całego OS X…
    Activity Monitor włączał się minute, kolejne 5 trwało zabicie FX…
    Zużycie CPU 30%, 1GB RAM i 3GB pamięci wirtualnej.

  21. Na Firefox 3.7 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.3a1) Gecko/20100208 MozillaDeveloperPreview/3.7a1) też działa – po 20 sekundach się wyłącza.

  22. W domu (Ubuntu 9.10 x64) pojawia się nowa czysta karta. Nie zauważyłem żadnego spowolnienia w działaniu komputera.

    W pracy (win XP SP3) firefox pada po sekundzie.

  23. U mnie sypie sie pod firefoxem, opera i IE hehe xD
    Dziwne a mialo tylko pod firefoxem xD
    Odpalilem pod nginx wszystko ladnie idzie.

    btw. jesli ktos chce przetestowac, looknac na kod prosze bardzo:

    asheesh kumar mani tripathi
    Asheesh kumar Mani Tripathi

    function asheesh ()
    {
    var i=24 , anaconda = “XXXX”
    for(i=24;i >0 ;–i)
    {
    anaconda=anaconda+anaconda;
    }

    document.write(anaconda);

    }

  24. Zaglądał ktoś w kod tego “0daya”? Aż zal bierze, że te same sztuczki których używano lata temu wciąż potrafią wyłożyć przeglądarki…

  25. Cóż, twórcy skupiają się na wymyślaniu coraz to nowszych “ficzerów”, a błędów nie ma komu poprawiać.

  26. @Mariusz: dzięki Ci dobry człowieku. Prawy klik i pokaż źródło może być dla co poniektórych ciekawostką.

    @czubakabra: chyba nie wyczułeś ironii w moim wcześniejszym komentarzu ;-) Dla mnie to żaden 0day crash bug.

  27. Firefox 3.6 i Windows 7 32bit, po kilkunastu sekundach firefox przestał odpowiadać, po 5 minutach dopadła mnie nuda i zabiłem proces ;)

  28. Jak się ma noscripta, to takie badziewia nie są groźne. Przyznać się, kto jeszcze nie używa noscripta? ;)

  29. A co jest ten 0daY?

  30. firefox 3.6 na sevenie pada prawie że od razu
    firefox 3.5.8 na home sp2 pada do minuty ;p
    firefox 3.5.8 na viście też siada do około 25 sekund

  31. Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)
    Vista 32bit SP2
    Pomuliło przez ~15-20s w międzyczasie wyświetlając “Asheesh kumar Mani Tripathi” i skacząc z 2 do 47% CPU (Intel Core 2 Duo T5600) i z ~400 do ponad 800MB RAM, a później biała strona. Żadnego crash’a, czy czegoś w ten ton : P

  32. @Kenjiro: Jak się chce przetestować to się NoScripta wyłącza ;)

  33. Mein Gott, takimi 0dayami to z rękawa można sypać. Co drugi slideshow we Flashu wypuszcza pamięć. Trochę setTimeout, rekurencji, czy Ajaksu i też przeglądarkę do nieodpowiedzialności da się doprowadzić. Gdyby krył się tu jakiś remote code execution, to by było ciekawie, ale takie crashowanie? Każdy po miesiącu programowania w JavaScript (czy ActionScript tak samo) znalazłby kilka technik wywalenia przeglądarek. Poza tym ten kod źródłowy też jest depresjonujący – ani to normalny “researcher”, który pisze maksymalnie uproszczony test case, ani kod jakiś specjalnie obfuscated – taki gniot kogoś, kto poznał ledwie kilka operatorów w JavaScripcie. My chcemy heap spraying! My chcemy heap spraying! ;)))

  34. Xp opera 10.10 nie wytrzymala nawet 1 sekundy

    P.S. Maurycy Prodeus ten od kafejki szachowej z wroclawia? Dobra byla ale sie posypala :) 0day w tym przypadku to przekazanie strony mlodszemu rocznikowi ;]

  35. panie marku, informuje, ze kafejka szachowa bedzie uruchomiona, sprzet padl na dobre i wlasnie kompletujemy nowy, w przyszlym tygodniu wszystko powinno ruszyc na nowo,
    pozdrawiam

  36. Witam wszystkich,
    podobny błąd do tego opulikowanego udało mi się znaleść ale tym razem w for() nie stosując “drugiego parametru” tzn for(i=0; ;i++) { … }

    Kod ten zawiesza ff w wersji 3.X < dokładnie nie pamiętam gdyż maszyna na której jest ów kod nie jest w moim zasięgu na dzień dzisiejszy [+zaniedbanie z mojej strony, że nie sprawdziłem.]

    Faktycznie, nie mam się czym chwalić z uwagi na niską szkodliwość oraz to, że jak napisał @keton – takie chochliki występują często.

    pozdrawiam wszystkich

  37. co to znaczy nabrać multitaskingu?

  38. Mozilla/5.0 (X11; U; Linux x86_64; pl-PL; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8

    Mieli z 15 sekund i wyświetla się czarny pasek, który de facto jest ciągiem XXXXXXXXX.

    Może ze względu na ilość ramu(4GB) system wytrzymał. Zużycie procesora: 100%, pamięci: 1,4GB w szczycie.

  39. Windows XP SP3 – Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729) CRASH

    Ten sam zestaw ze standardowo włączonym NoScript – informacja o zablokowanym skrypcie ;]. Jednak dobre dodatki do przeglądarki mogą mieć kluczowe znaczenie ;].

  40. FF3.6@Fedora12 też sobie nic nie robi. ;-)

  41. […] Po scenariusz ataku z wykorzystaniem w/w informacji zapraszamy do artykułu Safari dalej nie choni naszej prywatności. My od siebie dodamy tylko informację, że powyższe nie jest jedynym grzechem przeglądarki od Apple. W ostatnich dwóch tygodniach znaleziono 8 różnych 0day’ów w Safari (na trochę wyższym poziomie niż te ostatnie z FF i Opery) […]

  42. @Maurycy Prodeus – dobrze wiedziec :) Czekam z niecierpliwoscia:)

  43. Wytłumaczy mi ktoś co to oznacza ten 0day?

  44. To samo na windzie.
    Mieli chwilę nawet, nie dłużej niż 5-10 sekund.
    Potem pusta strona.
    Może więcej iteracji? ;)
    nie 24 a np 240?

  45. 0day – a w zasadzie 0day Exploit, 0day Atak, 0day zagrozenie – to potocznie zwana luka, kod lub metoda ataku, ktora ujrzala swiatlo dzienne jednak nie ma na nia zadnej rady/poprawki/zabezpieczenia, informacja o niej pojawila sie nie od producenta oraz dostepne sa rzeczywiste narzedzia do przeprowadzenia takiego ataku. Generalnie jest to luka jak kazda z tym ze, przynajmniej w teorii, producent danego systemu nic o niej nie wiedzial, nie wyszlo to na jego testach lub testach firmy ktora sie tym miala zajac i teraz, rowniez w teorii, powinien sie rozpoczac wyscig producenta feralnego systemu z 0day-owcami (czyli tymi, ktorzy chca na tym bledzie skorzystac :P) o wydanie poprawki i usunieciu wady. Poprawcie jesli sie myle

  46. Całkiem dobry dzień dziś mam. Najpierw pan z M$ prezentował jakiś śmieszny produkt udający szynę ESB, a teraz to.
    32-bitowe Wyjedubuduntu, 2 procki:
    – w pierwszej chwili zwiecha i jeden procek na 100% obciążenia.
    – system zwalnia.
    – po chwili drugi procek przejął działanie – system jest nadal w pełni sprawny.
    – FF wraca do stanu używalności.

    Niech mi ktoś powie, że Linuxy nie są odporne, a może to tylko kwestia niechciejstwa programistów?

  47. Ubuntu 9.04 64bit, FF 3.0.18
    – po kilku sekundach zwiecha przeglądarki, po następnych kilku sekundach powraca do życia i działa już dobrych pare minut :)

  48. och jak interesująco, mój krytyczny komentarz nie przeszedł “moderacji”
    ale …. chyba żaden krytyczny nie przechodzi….
    och tak, tak dalej …

    • xxxx: No, cenzurujemy komentarze, w przerwie pomiędzy porywaniem dzieci z okoliczny wiosek i wpychaniem kotów do butelek po pepsi…

      P.S. Twój komentarz nie przeszedł, geniuszu, bo podałeś lewy adres e-mail (iksy są naprawdę kreatywne) i wyłapała Cię wtyczka spamowa. Polecam regulamin komentarzy.

  49. Dla interpretera Pythona:

    def anaconda(num):
    anaconda = “XXXX”
    for x in xrange(num):
    anaconda += anaconda
    print “Anaconda string No.%d” % x
    print “Overall string length: %d\nString: %s” % (len(anaconda), anaconda)

    U mnie komp się dławi przy num = 16. Mam intel core 2 duo e6320 @ 1.86 GHz (pracuję na 1.40 GHz), 2 x 1 GB ram 667 MHz Good Ram. Ostatnie dwie linijki (printy) można wyciąć, i tak kod zrobi swoje ;)

  50. Chociaż nie na temat, ale trudno tam ; )

  51. FF 3.6, Win 7 64-bit – zamula jakieś 5-10 sekund i później nic się nie dzieje, można spokojnie zamknąć okno.

  52. to samo co kolega nad mną. 5sek mułka i koniec.

  53. Dziś (31.12.2010) nadziałem się na ten artykuł i niestety na ff 3.6.13 niestety działa dalej.

  54. najnowszy ff wysiadł na tym ex :o zwyczajnie nie odpowiada
    :D

  55. Firefox 3.6 – podatny
    Firefox 31 – nadal nie naprawione

  56. Dodatkowo, jak spróbujecie pobrać ten plik poprzez Firefoxa, wypluje wam malutkim plikiem :C
    http://i.imgur.com/N2aFBZf.jpg

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.