Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Internet Explorer The Internet Bug

HTML Rendering Crashes IE 1000

SlimySlimy writes "According to this article on Secunia, a new IE exploit was found that crashes almost any version of Internet Explorer past 4.0 with just 5 lines of plain HTML code (no JavaScript, ActiveX, etc.). If you're very brave, you can test/crash your IE by going here." There's also a note on SecurityFocus.
This discussion has been archived. No new comments can be posted.

HTML Rendering Crashes IE

Comments Filter:
  • by Big Toe ( 112240 ) on Saturday May 03, 2003 @03:58AM (#5867912) Journal
    I have to disagree, Mozilla, Opera, and Galeon certainly crash, but not consistenly on poor parsing code. Parsing HTML really isn't that difficult, and the five line example isn't anything weird other than the unexpected "crash" keyword. Obviously this was built into IE as a test or something, and if not then their code must look like this...

    if (inputType == crash)
    {
    weReallyRock(); //let's do what we do best!
    }

    The code should have had a huge #ifdef _DEBUG in front of it or something to prevent a crash.
  • by Tokerat ( 150341 ) on Saturday May 03, 2003 @04:00AM (#5867916) Journal

    Well then I RTFA'd... bug in a DLL under XP. I wouldn't call that "almost any version of MSIE past 4", but hey, this is Shashdot. At least I know it's not a fundemental problem with IE's rendering engine and it's simply an accidental thing that happened to a new Windows version. Windows with a bug, who'd have thought? ;-)
  • So.... (Score:4, Insightful)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Saturday May 03, 2003 @04:04AM (#5867935) Homepage
    It's not a vulnerability. It's a bug. It's a stupid bug, but a bug nonetheless. I used to consistently crash Mozilla on some Hotmail pages. But I didn't submit it to /. as a great story to hysterical giggles from the peanut gallery.

    Slow news night, eh?

  • Re:bah (Score:5, Insightful)

    by gerardrj ( 207690 ) on Saturday May 03, 2003 @04:09AM (#5867953) Journal
    People are up in arms over this because Bill Gates made it priority one in the company to make their software more secure and more reliable. This is just another blatent example of how they are failing in that mission. (This and the almost daily security updates).
    Here we have a simple bug that should be a test case. The word "crash" is not required, just that the type directive has a null value since it is not followed by an equal sign.
    The code would not hang the browser. The code would crash it just the same as it is again missing the equal sign. It's completely concievable that a developer that hand codes HTML would accidentally omit the character.

    This is simple buffer underflow checking: "does the thing I just recieved have the minimum expected size/value?" and just like all the buffer overflow issues, they don't bother checking the untrusted input before sending it off for critical processing.
  • by coloth ( 630330 ) on Saturday May 03, 2003 @04:32AM (#5868011)
    I've crashed IE 6 several times with this HTML just fooling around, and each time, an exception is raised, a debug report generated, an optional offer is made to submit the report to the OS manufacturer to inform them of the problem, upon which immediate technical support is often given. After that action is complete, the OS remains stable, and the crash can be repeated ad nauseum, experimenting with different tags/debugger experiments/versions.

    That is in a consumer OS (XP Home) that costs less than $100, and has tens of thousands of commercial apps available in almost every language. (probably millions if you include shareware/freeware)

    Whether it's my mom or another engineer, I feel pretty good about telling them XP is a solid OS that can do what they need. (likewise with IE)

    Not many years ago, it would have seemed pretty petty to obsess about such a bug--and that's when it would've forced a reboot.

    I'm not shy about criticizing MS when appropriate, but to come from Windows for Workgroups to XP in 10 years is pretty impressive, especially for a company of its size.

    If it were me, I'd spend my time debating the Software Formerly Known As Palladium, and not lose the forest for the trees by mocking MS for this kind of item. I fart bugs bigger than this.

  • oh, big deal (Score:2, Insightful)

    by g4dget ( 579145 ) on Saturday May 03, 2003 @04:35AM (#5868015)
    I don't particularly like Microsoft, but this is really not much of an "exploit". Mozilla crashes, Galeon crashes, Phoenix crashes, Safari crashes, and IE crashes. They crash due to particular snippets of JavaScript, DHTML, images, and plug-ins. As long as people keep writing end user applications in C/C++, they will crash. But they do so rarely enough that apparently most people aren't really bothered by it.
  • Re:So.... (Score:5, Insightful)

    by zook ( 34771 ) on Saturday May 03, 2003 @04:43AM (#5868027)
    First: I agree.

    Second: It's simple. It's cute. It's the kind of bug that makes a dev go, "Doh!", and so it's not absurd to show some interest in it. It's also a fun game to try to pin down what the problem is.

    Third: Does it warrant a /. story? Have you seen half the stories that come through here? ;)

  • by peterwilm ( 629084 ) on Saturday May 03, 2003 @04:47AM (#5868036)
    Unfortunately, 0.5 is very old and there are only nightly releases since then. Try the nightly build from March 20th [mozilla.org]. It haven't managed to crash it once in those weeks.
  • by Elwood P Dowd ( 16933 ) <judgmentalist@gmail.com> on Saturday May 03, 2003 @04:56AM (#5868051) Journal
    Somehow I imagine that the folks at securityfocus.com would check pretty carefully for that. If there were serious danger involved, they'd either give MS some time to fix it before this release, or they would have told us the whole story.

    So hold your chickens before they jump the conclusion.
  • Re:Phoenix (Score:2, Insightful)

    by mojowantshappy ( 605815 ) on Saturday May 03, 2003 @05:02AM (#5868062)
    Yeah, I use the windows copy of phoenix and I have zero problems with it. In linux I just use Mozilla.
  • by Selanit ( 192811 ) on Saturday May 03, 2003 @05:20AM (#5868097)
    I just crashed my copy of IE (5.00.2614.3500) with no more than <input type crash>.

    And anyway, even if your version requires more than that, it can still be all on one line, eg:

    <html><form><input type crash></form></html>

    Since carriage return/line feed pairs are totally unimportant in HTML (except with the <pre> tag, and maybe one or two others), it's silly to talk about how many "lines" it takes anyway.
  • by Duckie01 ( 10586 ) on Saturday May 03, 2003 @05:24AM (#5868111)
    And now... Shall we continue to post all the bugs that crash Mozilla, Netscape or Galeon?

    Sure. [mozilla.org] It'd be appreciated, too.
  • Bugs, crashes (Score:5, Insightful)

    by fm6 ( 162816 ) on Saturday May 03, 2003 @06:09AM (#5868183) Homepage Journal
    HTML clients are supposed to do skip over input they can't render. And in general, software should do something reasonable when it can't deal with input. Like deliver an error message. Crashing is always evidence of a bug, whether the data that caused it is buggy or not.
  • Re:bah (Score:2, Insightful)

    by shepd ( 155729 ) <slashdot@org.gmail@com> on Saturday May 03, 2003 @06:12AM (#5868186) Homepage Journal
    >Crashing the OS? I didn't see that in the article, and when I tried it on my machine, it only killed the browser. In fact, it only killed the new window that I'd opened up, leaving my other Explorer windows functioning normally.

    Je me souviens [wikipedia.org].

    According to Microsoft Intenet Explorer is part of the OS. Therefore, if MSIE crashes, your OS has crashed. Bill Gates said it, not me. Complain to him if you think it's wrong! He made your OS!

    You can't lie to a judge and not expect to be picked apart on it for life.
  • It's a bug in the document.

    No, if that does indeed crash an application it's a bug (and I'll assume, for the sake of argument, that the parent is correct even though other posters have stated they can't get Mozilla to crash from this). Applications should not respond to any input by crashing and applications should give the user a chance to lose data because someone on the net essentially (perhaps inadvertantly) instructed the application to crash.

    I appreciate the logic of the loop you're describing, but the proper response to that is not to crash or enter some state where a user's data can be lost.

  • by JimDabell ( 42870 ) on Saturday May 03, 2003 @06:57AM (#5868249) Homepage

    Everybody who has spent any time developing web pages has learnt that bad (and sometimes even good) html can crash browsers.

    I can't think of a browser released in the past couple of years that *crashes* on bad HTML, except for this particular issue. Misrenders, yes, but crashes, no. Bad javascript is another issue; you can protect yourself from that quite easily, and most of the time the browser catches infinite loops, fork bomb-style attacks, etc anyway.

    <tidbit type=outdated>
    Netscape 3 had a neat crash code:
    <script>delete new Location</script> The neat part about it is that 2 of those 3 words were undocumented.
    Of course any attempt to pass that as a security concern back then would have been laughed at. loudly.
    I'm not sure what has fundamentally changed since then.
    </tidbit>

    IE has become a standard part of the Windows OS. As more and more applications use it, the impact of crashing greatly increases.

  • Re:ME??? (Score:2, Insightful)

    by thynk ( 653762 ) <slashdotNO@SPAMthynk.us> on Saturday May 03, 2003 @06:59AM (#5868253) Homepage Journal
    I'm a big linux fan, I really am. I just don't really have the time to set it up properly if I'm working on something "non standard". After spending 2 days working to get Via Voice working on various linux distros I finally gave up and installed XP on the box. Total time till the project was done, less than one hour including install.

    What kind of makes me mad is when I request that our IT department install some software on my box at work. They leave it at the BSOD and try to blame me for it. Now that kind of thing stopped right away once my boss was backing me up. Now we have the only TWO home brewed PCs out of several thousand. Our IT department has admin access to them, but doesn't use it since we support them ourselves. Funny, hasn't crashed once since then.

    I think Linux has a very powerful user base, I think most people who run linux are a touch smarter than those who *can't* run linux or don't know any better than to run what their computer came with. I think *nix in general is far more powerful than winderz, but I think windows also has it's place in the market.

    Yes, this particular bug crashes IE in Windows. BFD. Opening Netscrape was iffy at best on a *nix box. The nice/scary thing about working where I do is we have 2 flavors of unix, dos 6.x to Windows 95, at least 3 distros of linux, a few NT boxes, several 2k boxes and even the odd OS/2 machine. Every OS has it's place and is useful in it's own right.

    Now, take a time out in the corner and meditate on these teachings of tolerance of other OSes.
  • by jbn-o ( 555068 ) <mail@digitalcitizen.info> on Saturday May 03, 2003 @07:16AM (#5868282) Homepage
    Not that it's such a big deal, I imagine any affected Windows versions of IE can be relaunched and people will just avoid going to places with such code.

    I should have included the following in my first response to your rather overrated and glib point above: Users won't know where to avoid going until it is too late.

  • Of course any attempt to pass that as a security concern back then would have been laughed at. loudly.

    And undeservedly. People who could not see the potential for the web and understand that a critical application like a web browser must be made crash-proof should be corrected. Not by pointing and laughing, but by careful and patient explanation about how more people in everyday society depend on a well-functioning web browser that can handle any input (including input from potentially hostile webpage authors) without crashing (and thus losing what could be valuable data).

    I'm not sure what has fundamentally changed since then.

    What has changed since the days when people used Netscape's version 3 browser is an increase in the number of people who use web browsers for important work. Developers who don't take this concern seriously are not developers one should trust with important data.

  • by Uzull ( 16705 ) on Saturday May 03, 2003 @07:33AM (#5868311) Homepage
    Just imagine : a spam mail using that code going to millions of IE / Outlook users... This would at least have one positive effect : Make the consumer aware that Yes, there are bugs and security issues in Windows and IE. You can no more read your email...
  • by Skuggan ( 88681 ) on Saturday May 03, 2003 @07:41AM (#5868326) Homepage
    This is one of the bugs in MS Products that actually don't make a big difference.

    It's a usual bug. All browsers have them. This bug does *not* exist because MS is Evil. And MS probably will fix it, but I can't say they have to hurry. If someone inserts this text into a page to crash a browser, let him. It doesnt stop anyone to go to serious web sites.

    Get over it. Stop this useless bashing. I'm not in anyway pro MS, but this story has got to be a joke. And if I had paid for the Slashdot subscription I would have been able to see this breaking-story before many others... What has happened to this site?

    CowboyNeal - Help me!!! Come back. Plz
  • Re:bah (Score:2, Insightful)

    by GreenEggsAndHam ( 317974 ) on Saturday May 03, 2003 @07:42AM (#5868328)
    "This and the almost daily security updates"

    Talk about biased. Not a MS fanboy myself but it looks like they can do no right. First you complain about MS's dismal security record and when they finally start addressing the issue and release fixes you blast them again.
  • by Spoing ( 152917 ) on Saturday May 03, 2003 @07:44AM (#5868331) Homepage
      1. No matter what the input stream, the application should not respond by crashing.

      Man, do I wish someone would tell the Mozilla team that...

    Got a current example?

  • by b1t r0t ( 216468 ) on Saturday May 03, 2003 @09:03AM (#5868464)
    Even if exactly the same code was used, it still wouldn't crash on the Mac. Why? RTFL, people. It's a null-dereference bug. That means something tried to access memory location zero. Apparently under Winderz, location zero is not mapped to anything and causes a crash from an invalid memory access.

    Under Mac OS 9 and earlier, memory location zero was explicitly a real memory location. I wouldn't be surprised if null accesses under OS X also don't cause a crash. So this bug wouldn't cause a crash on a Mac, period.

    It's really amazing how many people posting here have stupid conspiracy theories about this, like how it's an intentional mis-feature to test crashing the browser, and how they think the word after 'type' means anything. Look folks, the problem is that 'type' is naked, when it should be 'type="TEXT"' or something similar.

  • Re:So.... (Score:2, Insightful)

    by Eudial ( 590661 ) on Saturday May 03, 2003 @10:17AM (#5868620)
    It is a vounerability. DoS vounerability to be specific. By being able to totally screw up someones Outlook Express by appending '<INPUT TYPE "You're toast">' into a html-mail. And since it is the newest mail, OE will render it every time he/she opens it.

    It can also be further exploited by javascript-based emailworms by adding a document.write("<INPUT TYPE 'Hastala visa baby'>"); after having spread itself to everyone on the contact-list.

  • Re:Crashing != bug (Score:5, Insightful)

    by satch89450 ( 186046 ) on Saturday May 03, 2003 @11:21AM (#5868843) Homepage
    I work on an industry-leading mathematical library. We rely, in a few places, on getting sensible input from our client apps. If they give us garbage, they have no guarantees about getting a sensible error back, or even about anything ever coming back.

    I'm sorry you don't mention the name of your company, because your company makes software that should be shunned. No software should respond in an astonishing way when fed valid data that is outside of the domain of the function -- it should do range-checking and set an appropriate error flag and return to the caller with something, even if that "something" is a NAN. Even when fed absolute junk, it should detect the junk and error out in a predictable manner.

    In particular, taking down the application (and perhaps the entire system it's running on) is not an option.

  • Re:Mail-A-Crash (Score:1, Insightful)

    by Anonymous Coward on Saturday May 03, 2003 @11:36AM (#5868896)
    Anybody got sacked and wanted to get back at their company, this could provide an opportunity to do that.. ..just email all users in the company directory.

    Yeah, and make sure you let /. know beforehand, so we can follow the progress of the lawsuit your company will file against you for doing this-- if they can't manage to get you arrested for it first.
  • Crasher warning (Score:2, Insightful)

    by edsel ( 73916 ) on Saturday May 03, 2003 @11:50AM (#5868948)

    I just noticed that the tantek.com link I posted above crashes Webcore-based browsers. After posting the comment from OmniWeb 4.5 (which uses KHTML Webcore) I clicked on the link. OmniWeb crashed.

    Since I'm using a "Sneaky Peek" version of OmniWeb, I thought that maybe it was just a bug in the beta code. I tried the same link in Safari and it crashed too.

    I assumed that since this was a page on Tantek Çelik's site the CSS would be valid. The page flunks the HTML validator [w3.org] at w3c.org because of a misplaced noscript tag. - I wouldn't expect that to crash a browser.

    Must be a WebCore bug. Kind of ironic given the topic.

  • by Genyin ( 415163 ) on Saturday May 03, 2003 @11:54AM (#5868963) Homepage Journal
    It's a null-dereference bug. That means something tried to access memory location zero. Apparently under Winderz, location zero is not mapped to anything and causes a crash from an invalid memory access.

    You don't know what you're talking about. I'll bet $5 that you have never done serious C programming before...

    This [eskimo.com] is a decent explanation of what a null pointer is.

    (Oh yeah, this is slashdot... why am I surprised?)
  • by netsharc ( 195805 ) on Saturday May 03, 2003 @12:06PM (#5869008)
    Is it really the responsibility of anti-virus makers to shield MS's bad programming with a it's-getting-bloatier-all-the-time syntax checker? I mean, it's good for Norton/McAfee that they can live out of MS's dumbness and user ignorance ("I run Norton, and no virus in the world, even the one that just came out today can affect me. A virus definition file, what's that?"), but heck, if you think Norton/McAfee should check everything that is to be sent to the browser, they'll pretty soon have a program as complex as the OS itself, just to check data. I think it's an OS maker's responsibility to build a whole OS, not let Norton/McAfee take care of the other half.
  • Re:Crashing != bug (Score:2, Insightful)

    by Malc ( 1751 ) on Saturday May 03, 2003 @12:16PM (#5869055)
    Rubbish. A library has to be bullet-proof too. For example, look at the bugs in the C library for malformed input - the worst ones result in buffer-overflows that result in remote exploits.
  • by jbn-o ( 555068 ) <mail@digitalcitizen.info> on Saturday May 03, 2003 @12:46PM (#5869209) Homepage
    It's a usual bug. All browsers have them.

    No, not all browsers have this bug and so far I can't replicate similar sounding bugs in Mozilla producing a crash and loss of work. Also, not all browsers are so widely used and not all browsers integrate code with widely used e-mail clients (Outlook and Outlook express still use the same HTML renderer that is subject to so many problems). This leads to multiple paths to sabotage someone remotely, perhaps even anonymously. Let's not forget that any application that embeds MSIE/Windows' renderer is vulnerable. Considering how many people use MSIE on MS Windows and how many of them are affected by this bug, I'd hardly call revealing the bug a "joke".

    This bug does *not* exist because MS is Evil.

    I'm not encouraging anyone to think in the false dichotomy of good vs. evil and neither should you. Nobody is helped by glossing over relevant details of how this works or ignoring the wide scope of the bug. This is one of a long string of Microsoft bugs that directly adversely affects ordinary users. We are much better served by suggesting real-world fixes (such as switching to Mozilla [mozilla.org] to do most browsing, even under a proprietary operating system). We're also better off identifying this exemplar of the practical shortcomings of proprietary software. There's no workaround here--MSIE/Windows users must simply wait for a fix from the proprietor if they won't switch browsers (and any other app adversely affected by embedding the MSIE renderer).

  • by pr0ntab ( 632466 ) <pr0ntab AT gmail DOT com> on Saturday May 03, 2003 @01:00PM (#5869282) Journal
    On Linux and Windows, the .text segment of the currently rybbubg program starts one page AFTER 0. the page containing the address 0 is marked no-access so that NULL pointer deferences PURPOSEFULLY crash the program. They waste 4k of memory for that feature.

    Otherwise, the program would just keep going. YOu wouldn't see the crash until you attempt to write there and clobber your code.
  • by stinky wizzleteats ( 552063 ) on Saturday May 03, 2003 @01:02PM (#5869293) Homepage Journal

    I must admit, there's something strangely fitting about a Microsoft apologist argument based on sheer arrogance.

    It's a usual bug. All browsers have them.

    An oddball javascript gyration that changes colors for the rest of the session is a usual bug. A fundamental HTML rendering flaw that can crash the entire Internet application suite for the world's most popular and profitable operating system is a big deal.

    This bug does *not* exist because MS is Evil

    Agreed. Never attribute to malice that which can be explained by incompetence.

    It doesnt stop anyone to go to serious web sites.

    It will if (as someone else has suggested) the next Melissa-type virus includes a payload to put the bad HTML on your computer and set it as your homepage.

    So much for security by indifference.

  • Re:Crashing != bug (Score:3, Insightful)

    by Anonymous Brave Guy ( 457657 ) on Saturday May 03, 2003 @01:48PM (#5869526)
    No software should respond in an astonishing way when fed valid data that is outside of the domain of the function -- it should do range-checking and set an appropriate error flag and return to the caller with something, even if that "something" is a NAN.

    Please tell me you're not just talking about things like forgetting to check before dividing by zero or SQRTing a negative number! If you are, then you are totally misunderstanding this conversation. We're in a different league here.

    Even when fed absolute junk, it should detect the junk and error out in a predictable manner.

    Unfortunately, you've spent so long checking that your algorithm will work correctly and terminate (assuming such checks are even possible) that no-one else will ever use your code because the alternatives are several orders of magnitude faster, which is the dominant requirement for the type of software we provide.

    Any library can get bad input. You can pass me a pointer to your data structure and claim it's valid, but actually give me an address outside of memory that I'm allowed to access so I segfault when I follow it. It is not possible to write a 100% bulletproof library in this situation.

    You have to trust your calling code to do its job, and you have to be clear about what input you accept with defined results so those writing the calling code can do their job. There is no other option.

    The only remaining question is how broad you choose to make the set of valid inputs. This is simply a trade-off between safety and performance, and in this particular industry, standard practice is to trust your caller and go for performance. You're necessarily relying on them to give you good input anyway, so further checks just slow you down without any real safety benefit.

    In particular, taking down the application (and perhaps the entire system it's running on) is not an option.

    Actually, taking down the whole application and providing diagnostics is one of the better options, since it makes it clear during testing that there is a bug, which in turn implies that our client application has a logic error somewhere in it.

    If my library doing something can take down your whole system, your OS is broken, of course.

  • by SysKoll ( 48967 ) on Saturday May 03, 2003 @02:02PM (#5869588)
    Well, guys, this has a serious consequence. Suppose that some shoddy business guy wants to paralyze the operations of a competing company that runs Outlook (don't laugh, I know several Very Important Companies that depend on Outlook).

    All you have to is to spam this company with this small HTML one-liner. Outlook is set to preview on most desktops. So the hapless users' Outlook would crash and could not be brought back: If you start it again, it would try to preview the offending message again and CRASH.

    That would seriously hamper the operations of a company, and if that company is, say, a Wall Street broker, the financial losses could amount to millions.

    So IT support people should really demonstrate this vulnerability to the clueless PHBs who insist on putting Outlook on their company's desktops. Maybe they'd stop being so foolishly blind to MS-induced security risks if, say, THEIR Outlook crashes and burns...

    -- SysKoll
  • by gilroy ( 155262 ) on Saturday May 03, 2003 @02:58PM (#5869826) Homepage Journal
    Blockquoth the poster:

    Internet Explorer is free as well.

    Is it? Or do you have to shell out $200+ for an OS license?
  • by rnd() ( 118781 ) on Saturday May 03, 2003 @04:04PM (#5870164) Homepage
    It's a C++ problem. One of these days, IE will be written in VB.NET or C#, and problems like these (as well as those that don't cause a crash but cause a security vulnerability) won't happen nearly as often.
  • by Pyrion ( 525584 ) on Saturday May 03, 2003 @08:47PM (#5871655) Homepage
    Unless you have something like MS Visual Studio installed, in which case it comes up with something like...

    The instruction at "0x70a71927" referenced memory at "0x00000000". The memory could not be "read".
  • by barfy ( 256323 ) on Saturday May 03, 2003 @10:41PM (#5872126)
    um, a virus needs to be able to propogate. This would be as effective an epidemic as if SARS killed the carrier on contact.

    It is however a great way to piss off a friend or if someone had a good spam list, or a DOS of a company...

    But it makes a really bad virus.
  • by Anonymous Coward on Sunday May 04, 2003 @12:44AM (#5872616)
    ok got bored, fired up this 98 box, and entered into the location on "my 'puter"
    insta-crash of the windows explorer thingie, but good old netscpe still kicks.

    You guy's are slacking! You should have found this sooner, think of all the fun we missed! It is bad enough that Microsoft has little to no QC, now the Slashdot community is sitting on their collective haunches, not sending malformed code to IE.
    We are running out of exploits people! What are we going to do for fun when Microsoft patches all these known holes? Well, what then?
    Do you think all a company like Microsoft has to do is innovate these new ammusements for us? Billy-G is going to start charging us for this, an entertainment tax, possibly. Come on, it costs Billions and Billions of Bucks to make software this good, just think how buggy and unstable software would be if you didn't pay for it....

    Oh, wait

    I never bought Linux
    or FreeBSD
    or my Freesco router software...

    and this win98 came "free" with the computer, so it must be just as good, right?

Today is a good day for information-gathering. Read someone else's mail file.

Working...