Windows XP crasht door te groot plaatje in browser

De Duitse site Heise Online maakt melding van een bug in de afhandeling van afbeeldingen in bepaalde browsers onder Windows XP. Als gevolg van deze bug kan een simpele html-pagina van een paar regels ervoor zorgen dat het volledige besturingssysteem crasht. De bug heeft betrekking op het weergeven van afbeeldingen. Wanneer in een html-bestand met behulp van de 'width' en 'height' attributen van img-tag een afbeelding tot een bepaalde grootte wordt vergroot, treedt de fout op. Het lijkt erop dat de bug redelijk browseronafhankelijk is. Volgens Heise Online treed de bug in ieder geval op onder Windows XP met Service Pack 2 in Internet Explorer, Mozilla 1.7.8, Netscape 8.0.1 en Firefox 1.0.4. Opvallend genoeg hebben versie 1.1 van Firefox en Opera 8.0 geen last van de bug.

In een test op een computer van ondergetekende lijkt de bug inderdaad te werken onder Firefox 1.0.4 en Internet Explorer 6. Wel is het zo dat de bug alleen optreedt als de afbeelding tot een zeer groot formaat wordt vergroot. In het voorbeeld dat Heise Online publiceerd heeft, wordt zowel de hoogte als de breedte ingesteld op '9999999'. Bij grotere waarden wordt de afbeelding niet meer weergegeven en gebeurt er dus verder niets. Ook lijkt het er op dat de bestandsgrootte van de gebruikte afbeelding invloed heeft, aangezien een afbeelding van 104KB er voor zorgde dat een crash snel optrad, maar dat een bestand van 18KB er alleen voor zorgde dat het systeem erg langzaam werd. Nadat de browser werd afgesloten via Windows Taakbeheer, werkte het systeem weer naar behoren. Het lijkt er dus op dat het een geheugenprobleem betreft.

Een voorbeeld van de gewraakte code ziet er als volgt uit:

<HTML>
<BODY>
<IMG SRC="./sweetydead.jpg" width="9999999" height="9999999" />
</BODY>
</HTML>

Overigens is de bug niet heel erg nieuw. Op 3 mei van dit jaar werd de bug namelijk al gemeld op de 'Full disclosure'-mailinglist.

BSoD Windows XP

Opmerking: Het is aan te raden bovenstaande code niet uit te proberen op een systeem waarbij niet-opgeslagen bestanden open staan, aangezien deze verloren zullen gaan.

Door Martin Sturm

Nieuwsposter

09-06-2005 • 17:22

201

Submitter: EdwinG

Bron: Heise Online

Reacties (201)

201
196
75
8
3
84
Wijzig sortering
Anoniem: 78748 9 juni 2005 17:47
Nu is het interessant om te zien hoe een html based mailtje met deze code zich gedraagt in bijvoorbeeld outlook. Als dat ook misgaat hebben virusschrijvers er weer een leuk speeltje bij.. :P
Dat is inderdaad een interessante test. Overigens ben ik nog steeds een fel tegenstander van HTML in e-mail. Plain-text mail is minder opdringerig en vooral veel veiliger. Ik vind het ook slecht dat html-mail default aanstaat in bijna alle mail-programma's.
Ongelovelijk dat een browser een compleet besturingssysteem kan laten crashen. Waarom draait zoiets niet op een hoger niveau en kan het (netjes) gekilled worden zonder dat de kernel het begeeft.
Ik heb het net op mijn werk getest (jpeg van 75kB) maar veel verder dan een hang-up kom ik niet. Met Ctrl-Alt-Del krijg ik FF 1.0.4 nog gekilled. Misschien heb ik niet lang genoeg gewacht maar als het een tijdje duurt is het vrij normaal om een programma te killen. Met IE krijg ik mijn systeem overigens wel naar de knoppen.
Voor de liefhebber om het te proberen:
http://www.thq.nl/blue

Bij mij bleef het hele systeem een 5 tal seconden hangen om vervolgens te herstarten. Dit laatste komt omdat windows xp zo (standaard) staat ingesteld dat hij herstart waar normaal een blue screen getoond wordt.
gebeurt niks :S

xp sp2 ie6
Anoniem: 95032 @Pwigle9 juni 2005 19:16
Gebeurt niks! ik zie enkel Doeiiiiii !!!! Pfffff ik verkoop mijn iMac, leuke games werken enkel op windows blijkbaar.
Bij mij spontane reset, zie hier:

http://tinypic.com/5ujr4o
Strange,

mijn Mozilla Firefox is er wel vatbaar voor......

mijn pc hangt voor, 5 tot 10 sec. geen Bleu screen of death, maar ik kan wel task manager nar vore roepen, alleen geen knoppen bedienen / processen killen..... Rare bug :?
Gebeurt helemaal niets met Windows XP en IE6. Ik kan het zo weer wegklikken. Geen crash, geen vertraging niets. Alleen de tekst "Doeiiiiii !!!!" en een site met witte leegte ;)
Anoniem: 96558 @Pwigle9 juni 2005 23:49
Bij mij geen crash met IE6 op windows XP SP2, maar het duurt wel erg lang om het plaatje te renderen. Voor het scrollen heeft hij ook erg lang nodig. Als hij klaar is met renderen doet windows het weer gewoon en kan ik de pagina normaal afsluiten.
Hier ook, 100% cpu, en met een alt+tab zorg ik ervoor dat het beeld niet meer in focus is, waarschijnlijk helpt minimize ook wel.
dan het process killen en je pc draait weer goed.

helaas geen blue hier.

windows xp sp2, IE6 alle updates.
rendert perfect ubuntu linux met laatste firefox :D
Anoniem: 99273 @Pwigle9 juni 2005 20:04
Dat duurt dus ook niet lang meer denk ik :p
Geen probleem hier, heel ff doet windows niets, druk op ctrl-alt-del, sluit IE6 af en klaar.

XP SP2 IE6
Heb het ook geprobeerd: Niks dus hè. Alleen een melding van windows dat m'n ati driver er mee stopt. Gelieve het systeem opnieuw op te starten.

Voor de compleetheid:
XP SP2 met alle updates
FireFox 1.0.4
Mijn win2k loopt ook vast :(
Draai Windows 2000 SP4 met alle updates. Zowel FireFox 1.0.4 als IE 6.0.2800.1106 (SP1) laten een wit scherm zien. Geen vertraging, geen crash.
Ik heb het ook geprobeerd, ik dacht dat mijn systeem hing, maar na 5 sec kwam hij weer tot leven. Ik zie nu een venster met zwart plaatje met de tekst "Doei!!!!".

Ik draai:
Dear Park Alpha 1 (Mozilla)
AMD XP 2600+
1 GB Geheugen
WindowsXP SP2 met alle updates

EDIT:
Mozilla Firefox 1.0.4 crasht wel :'(
Na 15 seconden krijg ik een blue screen met de melding dat 'ati2dvag' de boosdoener is en dat een stuurprogramma in een oneindige lus is blijven hangen.
98 in combinatie met ff 1.0.4 en helemaal niks,

kon gewoon via het gebruikelijke rode kruisje de tab afsluiten
Anoniem: 53610 @Pwigle10 juni 2005 11:02
In combinatie met Netscape 8.01 met gecko engine krijg ik in ieder geval wel een bsod over ati2dvag....
IE6 XP Pro SP2: Er gebeurt nix
xp sp2 hele pc crasht. ctrl-alt-del duurt uren. dan nog uren wachten op taak beeindigen. en dan nog wachten tot het beeindigt is. 5 minuten verspild :'( :+
Das knap: Duurt uren en uiteindelijk maar 5 minuten verspild. Ik wou dat ik zo'n dagindeling kon maken :P

/edit: grrr... shit internet explorer was als reactie op Yoshiii. Waarom pakt die shit browser nou nooit is de goede link |:(
Bij mij laadt hij gewoon. W95 OSR2, Opera 7.23. Naar de scrollbars te oordelen is het plaatje erg groot.
nou, mijn systeem word wel een seconde of 2 schokkerig, maar dat is het dan ook. Debian/Sid, konqueror 3.4.1.
Ik denk dat de browser niet de veroorzaker is maar het gewoon toelaat en naar een ander niveau doorgeeft om het te renderen. Dit zal best gebeuren door het OS die het niet meer aan kan dan.

Mogelijk hebben andere browsers iets om dit tegen te gaan.. Renderen ze het plaatje nog wel?

Overigens is het nog maar even afwachten totdat iemand zo'n plaatje even snel nog hier post om te kijken bij iedereen of het echt fout gaat
Heel vreemd inderdaad. Wat hierbij in me opkomt is die bug van de command prompt. Dat was een paar keer TAB, wat backspaces en dan SHIFT-F7 om de history op te vragen. Maar dat was niet zo probleem behalve dan voor terminal servers. Een browser is heel wat anders en ik hoop dat ze dit snel fixen.
Kernelspace drivers kunnen dit altijd. Zoals je al kan zien in de reacties zit het probleem in een bug in de videokaart drivers en niet in de browser/kernel, en buggy videodrivers krijgen elk mainstream OS plat (een buggy ATi driver haalde een maandje geleden mijn "stable" Linux kernel ook genadeloos onderuit). Werk aan de winkel voor de driver developers!
zoiets had ik al gemerkt met het openen van een bouwtekening van een groot bedrijf...
8500 x 4500 pixels, 160 kb in png, schaal 1:1 ofzo
Mja, maar wie plaatst er dan ook zo'n groot plaatje :?
Mij was overigens al langer bekend dat Windows ook niet helemaal lekker werkte als je in IE een HTML-pagina van 3 frames en een groote van meer dan 300K opent.

Woei, mijn eerste FP-fipo :)
Anoniem: 30917 @The Eagle9 juni 2005 20:27
Mja, maar wie plaatst er dan ook zo'n groot plaatje
Dat is niet relevant, het besturingssysteem mag nooit crashen als gevolg van een externe applicatie, zeker niet zoiets simpels in een internetbrowser. De fout zit 'm dan vooral in het OS niet de browser, wat die ook fout mag doen.
Het is de vraag of de fout in het OS zit, een (display?) driver of (onwaarschijnlijker) de browsers.

Het ziet er iig naar uit dat er teveel geheugen gealloceerd wordt door een driver of niet checkt of de allocatie uberhaupt lukt...

Het is iig een interessante bug :)
Lees eerst even goed: Het OS crasht vanwege de parameters, niet het plaatje zelf...
In het artikel staat:
Als gevolg van deze bug kan door een simpele html-pagina van een paar regels er voor zorgen dat het volledige besturingssysteem crasht.
Dat is niet het geval. Niet het besturingssysteem crasht, maar de browser. Als je de browser via Taakbeheer killt, werkt Windows XP vrolijk verder. Dat maakt het nog niet tot iets om blij van te worden, maar in ieder geval krijg je geen blue screen voorgeschoteld.
Dus je kan nog wel iets anders doen terwijl de browser is gecrasht? Niet dus => OS zit volledig vast tot je de browser afsluit.
Ranzy, jij hebt zeker geen HTT... dan kun je nml nog wel andere dingen doen.
Anoniem: 78739 @The Eagle9 juni 2005 17:56
Inderdaad, het grootste dat ik al gezien heb is 16000x16000:
http://hubblesite.org/gallery/album/entire_collection/pr2003011a/full_ tif.TIFF
(8.6 MB in JPEG en 285 MB in TIFF-formaat, neemt 600 MB geheugen in beslag indien geopend met een max van 735 MB)
Mja, maar wie plaatst er dan ook zo'n groot plaatje
Iemand die het leuk vind om jouw computer te laten crashen?
Ja ik weet het is super irri :(
Het werkt gelukkig niet op windows 2000 en server 2003 en linux en mac os x. (zelf getest)

Hoop dat ze wat op vinden want is vaag dat alleen xp dit hebt en dat gewoon kan.
Anoniem: 92287 @Erwinvz19 juni 2005 18:48
werkt wel op 2000 ;)
Server of Client?
Zit denk ik wel verschil tussen.
Zijn toch op dezelfde NT kernel gebaseerd? Dit soort renderacties zijn "dezelfde code" lijkt me. Alleen op netwerk gebied verschillen ze misschien een beetje.
Anoniem: 111246 @Erwinvz19 juni 2005 18:28
Gelukkig, zou er niet aan moeten denken dat een Terminal Server gebruiker een link naar zo'n page even aanklikt en je server onderuit schopt.
het werkt dus wel op Windows Server 2003 SP1 US (locale Dutch).
uitgevoerd als gewone restricted user met Firefox 1.0.4.
Anoniem: 104237 @Erwinvz110 juni 2005 08:13
Werkt dus wel op Win2000 (IE 5.5 en SP4).

PC reageert niet of nauwelijks meer. Taksman niet op te roepen.
Al gezien welk plaatje ze als voorbeeld gebruiken?
sweetydead.jpg
Vrolijke jongens :p

//deze jongen gaat nu even een blauw scherm bekijken :)

EDIT: die jongen heeft inderdaag nogal weinig bandbreedte, maar om dit daarom als overbodig te gaan modden? Achja, hier is een "verse" URL":
http://kamelopedia.mormo.org/index.php/Bild:Sweetydead.jpg
ik krijg met Firefox 1,4 deze foutmelding te zien
The image “http://www.20six.de/pub/DrXMas3/sweetydead.jpg” cannot be displayed, because it contains errors.
Ik ook, onder linux. Zit jij ook onder linux? Het zou natuurlijk kunnen dat het aan de gebruikte library ligt oid.
nope, onder windows xp sp2 met firefox 1.4
Firefox geeft:
The image “http://www.20six.de/pub/DrXMas3/sweetydead.jpg” cannot be displayed, because it contains errors.
:9
Anoniem: 48923 @twabi29 juni 2005 17:33
nee, ik zie geen plaatje... Bandbreedte is op :-D
Anoniem: 78739 @twabi29 juni 2005 18:13
Internet Explorer en Avant Browser (met IE-core): een kruisje...
in IE doet hij het wel terwijl firefox hem niet weer kan geven... :?
Anoniem: 90915 9 juni 2005 17:54
Ik kreeg toen ik het deed (ook met sweetydead) een trage pc, en daarna een reboot, vaag :?
Als je systeem reboot heb je vergeten dat standaard gedrag uit te schakelen, je kunt namelijk instellen om niet te rebooten bij een blauw scherm, zodat je dus je blauwe schermpje kunt lezen. ;)
Hoe stel je dat in?
Control Panel -> System -> Advanced -> Startup and Recovery Settings -> vinkje weg bij "Automatically restart" :)
Anoniem: 111783 9 juni 2005 18:17
Ooit geprobeerd twee shortcuts op het desktop naar elkaar te laten linken?

Juist, ook een crash.
logisch

gewoon een endless loop :z

EDIT:

vraag mij wel af hoe jij dat voor elkaar krijgt om die naar elkaar te linken... Windows stribbelt tegen bij mij :'(
Doot een LNK file in een (hex) editor te openen en met de hand te editen.


Maar link-loop hoort door het OS gezien te worden.
Kun je iets meer info geven, dit wil ik eens uitproberen > :) .
Op mijn laptop crasht ie ook, hij opent het plaatje, hangt 2 minuten oid en dan een blauw scherm.

Zowel met firefox als IE6.

WinXP SP2 EN, 1024MB RAM

http://zooi.erik1.nl/crash.html <-- proberen op eigen risico :P
Net even getest met FF 1.04 en XP Pro maar geen crash :7
Misschien omdat ik op het kruisje heb gedrukt tijdens het laden van het plaatje.

Dus als iemand dit tegenkomt OP HET KRUISJE DRUKKEN!! :P (Bij FF 1.04 tenminste)

EDIT!!!

Het is een videokaart fout!!
Zodra het scherm op de achtergrond verdwijnt is er niets aan de hand.
na 1 seconde krijg ik het te zien. in de statubar: klaar.
Of is het script al weg?
Anoniem: 77558 @Erik19 juni 2005 18:32
FF 1.0.4 hangt zo'n 20 sec, dan 5 sec blauw scherm en reboot...

512 mb ram ;)
Onder Linux krijg ik daar een raar plaatje dat paarsachtig begint, maar van kleur verandert naar mate ik verder naar rechts scroll.
Onderaan is het wit.
Opera 8.0 laat gewoon keurig het hele plaatje zien (met flinke scrolbalken, pas niet inbeeld:p), zonder zelfs veel geheugen te gerbuiken ofzo... het plaatje wordt dus niet naar het opgegeven aantal pixels opgerekt, maar de pixels worden groter weergegeven ofzo. Je ziet ook geen 'losse' pixels ofzo, wat je in IE wel zou zien als je plaatjes (overmatig) vergroot). Al met al lijkt er niks mis mee te zijn dus.
Anoniem: 75364 @Erik19 juni 2005 21:27
Konqueror (KHTML) rendert em heel snel met slechts een paar MB geheugengebruik. Heen en weer scrollen gaat ook vlot.
Dat viel mij ook op, maar Konqueror maakt het plaatje kleiner, zo'n 10000x10000 oid. Altijd nog groot genoeg :-)

De grap is dat FireFox het onder Linux gewoon wel weer geeft, en ook werkelijk zeer groot (elke pixel is al tientallen keren PageDown indrukken lang).
Hier ook een crash of meer een "traditionele" hanger...
Geen BSOD ofzo maar gewoon niets meer geen ctrl+alt+del niets... Ik zag firefox (1.0.4) met een extreem groot plaatje (een minideel ervan) dat een bruin beige kleur had en dat was dan ook het enige wat ik ervan kon zien...

Ik draai btw Windows 2000 SP4 met alle updates...
De 64-bits Internet Explore zorgt voor geen problemen, maar met firefox crasht hij hier :P
logisch met een geheugenbug. x64 kan natuurlijk veel meer geheugen adresseren, zodat er niks hoeft te crashen. Firefox is een 32-bits applicatie en als zodanig gecompileert, dus crasht omdat het buiten 'zijn' adresbereik valt

Op dit item kan niet meer gereageerd worden.