Slashdot Mirror


Word 2007 Flaws Are Features, Not Bugs

PetManimal writes "Mati Aharoni's discovery of three flaws in Word using a fuzzer (screenshots) has been discounted by Microsoft, which claims that the crashes and malformed Word documents are a feature of Word, not a bug. Microsoft's Security Response Center is also refusing to classify the flaws as security problems. According to Microsoft developer David LeBlanc, crashes aren't necessarily DoS situations: 'You may rightfully say that crashing is always bad, and having a server-class app background, I agree. Crashing means you made a mistake, bad programmer, no biscuit. However, crashing may be the lesser of the evils in many places. In the event that our apps crash, we have recovery mechanisms, ways to report the crash so we know what function had the problem, and so on. I really take issue with those who would characterize a client-side crash as a denial of service.' Computerworld's Frank Hayes responds to LeBlanc and questions Microsoft's logic.'"

411 comments

  1. English-to-Microsoft dictionary by Anonymous Coward · · Score: 5, Funny

    Word 2007 Flaws Are Features, Not Bugs
    That's right and the price you pay for it is an investment, not a complete waste of resources.

    What's the matter? Did the Slashdot editors lose their English-to-Microsoft dictionary again?
    1. Re:English-to-Microsoft dictionary by eneville · · Score: 3, Funny

      Word 2007 Flaws Are Features, Not Bugs
      That's right and the price you pay for it is an investment, not a complete waste of resources.

      What's the matter? Did the Slashdot editors lose their English-to-Microsoft dictionary again? The denial of the denial of service is what really grinds my gears. There are so many companies who listen to their customers about things like this. With a high profile product the company should really bring it to the attention of their developers.
    2. Re:English-to-Microsoft dictionary by smittyoneeach · · Score: 2, Funny

      My favorite is turning on Track Changes, then selecting text and using Shift+F3 to cycle the text case.
      The fact that you changed, for example, 'rtfa!' to 'RTFA!' is _not_ included in Track Changes. Oops.
      Reported that a version or two ago, and the report came back (promptly, I might add, as I paraphrase) "That behavior goes all the way back to Word97. We're going to label that 'Behavior by Design'".
      If Word were a housecat, it would be conceptually similar to the Robin Williams routine, where Robin pretends to be a cat that sees something exiting through the closed sliding glass door, and careens into it going full-tilt-boogy. Cat's too proud to cry in front of you, so he limps over behind the couch, muttering "fsckin' meow, fsckin' meow"* to recuperate.

      *The cat is was a sysadmin on a proper operating system before too many high-speed crashes gave him a Windows fetish...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    3. Re:English-to-Microsoft dictionary by richlv · · Score: 1

      i reported case changes not being recorded as changes for openoffice.org a long time ago.
      guess what was the main reason to keep it like that...
      yeah. "because word does that, too".
      monopoly is stiffling innovation and even bug fixing mostly because it is a monopoly. using that to leverage position of other products or destroy competition is a conscious decision, but just being there is also bad for everybody, including customers of the monopoly.

      --
      Rich
    4. Re:English-to-Microsoft dictionary by lptport1 · · Score: 1

      Sounds like "we have no clue how to do that" more than anything.

    5. Re:English-to-Microsoft dictionary by smittyoneeach · · Score: 1

      Well, looking at the ASCII table, the case can be adjusted for [a-zA-Z] by flipping one bit, which could be implemented at a really low level.
      Of course, modern stuff tends to use UNICODE internally, but it is likely that the performance trade-off to integrate case changes with revisions could be brutal for substantial amounts of text.
      Or, it's such a niche feature as to be cost-ineffective to integrate.
      Still, this is my pet Word bug, and I love it for its own sake.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    6. Re:English-to-Microsoft dictionary by lanswitch · · Score: 1

      Microsoft is in denial about the denial of the denial of service...

  2. Let's just get this out of the way then... by inviolet · · Score: 0

    Would any bright egg here care to explain what the hell a 'fuzzer' is?

    Yes I could google it, but so will 100,000 other slashdotters, so let's just post the answer here and be done with it.

    --
    FATMOUSE + YOU = FATMOUSE
    1. Re:Let's just get this out of the way then... by Mateo_LeFou · · Score: 5, Informative

      Um, it's defined in the twelve words after "fuzzer" in TFA

      "a tool that probes an application for vulnerabilities by sending random input"

      This is known as an appositive phrase.

      --
      My turnips listen for the soft cry of your love
    2. Re:Let's just get this out of the way then... by fsulawndart · · Score: 2, Informative
    3. Re:Let's just get this out of the way then... by MassEnergySpaceTime · · Score: 3, Informative

      From wiki:

      "Fuzz testing or fuzzing is a software testing technique that provides random data ("fuzz") to the inputs of a program. If the program fails (for example, by crashing, or by failing built-in code assertions), the defects can be noted."

      --
      Respect the laws of physics, for the laws of physics have no respect for you.
    4. Re:Let's just get this out of the way then... by piGeek31415 · · Score: 1
      I checked http://en.wikipedia.org/wiki/Fuzz_testing.

      Fuzz testing or fuzzing is a software testing technique that provides random data ("fuzz") to the inputs of a program. If the program fails (for example, by crashing, or by failing built-in code assertions), the defects can be noted.

      Fuzz testing is often used in large software development projects that perform black box testing. These usually have a budget to develop test tools, and fuzz testing is one of the techniques which offers a high benefit to cost ratio. Seems like something that should have been caught in testing.
    5. Re:Let's just get this out of the way then... by ZachPruckowski · · Score: 4, Funny

      Um, it's defined...in TFA

      Um, read that again, and see if you can find the problem. ;-)

    6. Re:Let's just get this out of the way then... by rucs_hack · · Score: 3, Funny

      there you go, expecting a slashdotter to rtfa. Shame on you...

    7. Re:Let's just get this out of the way then... by Mateo_LeFou · · Score: 3, Insightful

      "Um, read that again, and see if you can find the problem. ;-)"

      I found two:
      1. No one reads TFA
      2. There are plurality of TFAs ...which means there's an error in your statement, which should read
      "Um, read that again, and see if you can find the problems. ;-)"

      There may be a plurality of errors in your statement, not sure ...

      *head explodes

      --
      My turnips listen for the soft cry of your love
    8. Re:Let's just get this out of the way then... by Anonymous Coward · · Score: 4, Funny

      Would any bright egg here care to explain what the hell an 'appositive phrase' is?

      Yes I could google it, but so will 100,000 other slashdotters, so let's just post the answer here and be done with it.

    9. Re:Let's just get this out of the way then... by alisson · · Score: 4, Funny

      1) It's too much effort to read the article.
      2) It's um... Can you repeat this one, I didn't read it.

    10. Re:Let's just get this out of the way then... by Tofystedeth · · Score: 1

      I attempted to RTFA, but for some reason it didn't exist.
      Perhaps the reason many /.ers don't read it, is because the rest do and crash it.

      Besides, most of the time you can at least a few posts in the discussion that explain what's
      going on far better than the actual article did. At least insofar as distilled scientific reports go.

      --
      "A little knowledge is a dangerous thing. Drink deeply or not at all."
    11. Re:Let's just get this out of the way then... by Anonymous Coward · · Score: 4, Informative

      a phrase that is placed in apposition to a noun or another phrase, usually serving to clarify the meaning or intent.

      an appositional phrase, a phrase that clarifies meaning, is a fancy way of saying "redundant"

    12. Re:Let's just get this out of the way then... by dalerb · · Score: 1

      Would any bright egg here care to explain what the hell a 'fuzzer' is? Yes I could google it, but so will 100,000 other slashdotters, so let's just post the answer here and be done with it.
      So let me get this straight: slashdotters don't RTFA, instead they Google every word in the summary hoping they can figure it out that way?
    13. Re:Let's just get this out of the way then... by Anonymous Coward · · Score: 0

      Seven digit UIDs have no basis for calling ANYONE a noob.

      (Posted anonymously to protect karma)

    14. Re:Let's just get this out of the way then... by innocent_white_lamb · · Score: 1

      There must be more to it than that, though.
       
      Suppose I write a program that says "Hit ESC to exit." This random tester randomly hits . My program exits. "Gosh, it only ran three seconds before I'm back at a prompt. There must be a bug."
       
      ??

      --
      If you're a zombie and you know it, bite your friend!
    15. Re:Let's just get this out of the way then... by Anonymous Coward · · Score: 0

      (Posted anonymously to protect karma) Or the fact that you are a seven digit UID? fear my m4dz d3ducing sk1llz!!11
    16. Re:Let's just get this out of the way then... by Anonymous Coward · · Score: 0

      Only 6... but it starts with 98, so you were pretty close.

    17. Re:Let's just get this out of the way then... by arodland · · Score: 1

      Er no, because that's not a crash. It's an expected, well-handled exit. But in any case, we're talking about fuzz, not gremlins. File inputs, commandline inputs, network inputs, whatever, you send subtly (or totally) malformed data in and make sure that it's either handled, or it's cleanly rejected -- that it doesn't cause a nasty crash or corrupt program state or run into your "can't happen" code.

    18. Re:Let's just get this out of the way then... by toddestan · · Score: 1

      The place I have heard of them being used is for things like servers on the internet. For example, I expect that should be able to use a fuzzer to hit port 80 of a properly configured webserver with anything, and not have any crashes or strange behaviors, and no unreasonable slowdowns - for the simple reason that the rest of the internet is going to pretty much act like a giant fuzzer anyway.

    19. Re:Let's just get this out of the way then... by CoolVibe · · Score: 1

      Didn't you know? 90% of the population of slashdot is just a per script that googles all the time and blurts things on here. The rest of the population are trolls or the rare real person replying.

      </tongue location="cheek">

  3. I don't see the problem by dedazo · · Score: 0
    When the input box/message box loop of death "DDoS" thing that traps you in a page and forces you to manually kill the process was brought up to Mozila they said it wasn't a problem. Why is a similar DDoS/crash situation an issue for a Microsoft product again? In the past IE crashes have also been tagged as vulnerabilities even though they involved no further penetration into the target box or escalation of privileges.

    The fact is, you can probably DDoS just about anything more complex than a text editor.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    1. Re:I don't see the problem by HolyCrapSCOsux · · Score: 2, Informative

      That could be considered a flaw of word as well. It's more complicated than a text editor should be.

      --
      0xB315AA8D852DCD3F3DCA578FD2E0BF88
    2. Re:I don't see the problem by Anonymous Coward · · Score: 0

      You can probably DDoS notepad too.

    3. Re:I don't see the problem by ajs · · Score: 1

      Could you cite the bug # for Mozilla? I'm curious of the specifics, and not to say that you're not a trustworthy guy, but this is Slashdot after all. It reminds me of the time that Linus Torvalds said that Linux was a waste of his time....

    4. Re:I don't see the problem by Afrosheen · · Score: 0

      Actually you can DOS notepad pretty easily in Windows. Just tell it to load a 5 to 10 meg text file. KABOOM!

    5. Re:I don't see the problem by Anonymous Coward · · Score: 0

      When the input box/message box loop of death "DDoS" thing that traps you in a page and forces you to manually kill the process was brought up to Mozila they said it wasn't a problem.

      Who is "they"? AFAIK the bug is still open, which means it has low priority (or it would have been fixed by now) but is still considered a bug. And besides, not everyone agrees with the Mozilla people on such matters. You're speaking as though you're accusing people of hypocrisy, but it's not hypocrisy when two different people have (shock horror) two different opinions.
    6. Re:I don't see the problem by qualidafial · · Score: 5, Interesting
      During the last EclipseCon, Hugh Thompson (of in-flight Tetris crashing fame) showed us a hack in notepad discovered using fuzz testing. Open up a fresh notepad and type in the words, "this app can break" (without the quotes). Then save the document to file, close notepad, and double-click the file you just saved to bring it back up in notepad. Everything will appear as squares. Not a major exploit, and definitely not a DoS, but kind of interesting.

      Apparently that specific line of text exploits the way that notepad determines whether the file is encoded in ASCII or Unicode.

    7. Re:I don't see the problem by Yvanhoe · · Score: 1

      Well from TFA I understand that this cause a heap overflow, right now it just crashes the box but a better crafted file could possibly use this to work as a virus and propagate through mail as an attachment. They don't have enough information about the Workd configuration they used but if this behaviors also happens when macros and scripts and all these nastiness are disabled, then this could lead to a new virus vector.

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    8. Re:I don't see the problem by CyberSlugGump · · Score: 2, Informative


      Wow. I thought this was a joke; but I just tried this on Windows XP, and it really happens as the poster describes.

    9. Re:I don't see the problem by Anonymous Coward · · Score: 0

      Happens in Windows 2000, too. Wtf?

    10. Re:I don't see the problem by cgrayson · · Score: 0, Offtopic

      I tried that, but it didn't work. But then again, maybe that's because I've made Windows open text files in a real editor, instead of that braindead piece of crap that hasn't had a new feature added to it since Windows For Workgroups...

    11. Re:I don't see the problem by Anonymous Coward · · Score: 1, Interesting

      I know few will read this, since I'm an Anonymous Coward and all, but here's another one, this time for MS Word 2000:
      1) Start up Word
      2) Type "Dear Katrina," sans quotes
      3) Press Enter
      4) ???
      5) Voila! Profit! er, uh, I mean, CRASH!

      This crashed on two different installations of Word 2000 (on Windows XP and 98) but didn't on another.

    12. Re:I don't see the problem by mackyrae · · Score: 1

      Me too. That's pretty neat.

      --
      look! it's a bird, it's a plane, it's....a girl? yes, a girl browsing Slashdot on Linux
    13. Re:I don't see the problem by VGPowerlord · · Score: 2, Informative

      Actually, I can think of two new features it's gotten since Windows for Workgroups:
      1. The ability to open files larger than 64KB... I'm not kidding, try it.
      2. The ability to save and display files in UTF-8 and UCS-2/UTF-16.

      A bug in the API that the latter uses is actually part of the problem the grandparent mentioned.

      Of course, no one should use Notepad for doing anything useful... As a program, it does even less than its predecessor, MS-DOS's Edit.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    14. Re:I don't see the problem by freeweed · · Score: 0

      For more fun, copy and paste the line of "text" from within Notepad, into something like Excel - or even Firefox's address bar.

      Is that Cantonese?

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    15. Re:I don't see the problem by skiflyer · · Score: 1

      yeah me too... but it's fixed in Vista

    16. Re:I don't see the problem by howlingmadhowie · · Score: 1

      i think he's talking about something like this:

      <script

      while(true)
      alert("an alert message");

      />

      to get out of it, you have to kill firefox.

    17. Re:I don't see the problem by Anonymous Coward · · Score: 0

      I think you mean "is that Maytonese?"

    18. Re:I don't see the problem by Emperor+Zombie · · Score: 1

      For even more fun, get Google to translate it:
      "The market surged ash rising drawing sounded like "

      Did we find the secret message?

      --
      I'm so excited I just made water in my pantaloons!
    19. Re:I don't see the problem by jeremyp · · Score: 1

      1. The ability to open files larger than 64KB... I'm not kidding, try it.
      What is it you are not kidding about? Is it the fact that under Win16 Notepad could only edit files 32Kbytes (not 64Kbytes) or less or the fact that under some more recent versions, the size limit has increased? The original limit was due to the fact that notepad was just a thin wrapper around a Win16 multiline text box control. Hopefully, the current version is a bit more sophisticated.
      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    20. Re:I don't see the problem by shalmaneser1 · · Score: 1

      actually -- i get japanese(?) granted most probably won't be able to see this but this is the resulting text: also, curious: if i type anything after those bits the file loads up just fine.

    21. Re:I don't see the problem by toddestan · · Score: 1

      Of course, no one should use Notepad for doing anything useful... As a program, it does even less than its predecessor, MS-DOS's Edit.

      I find Notepad an indispensable tool when working in Office. The reason being that if you copy text from some kind of rich environment (such as from a web browser, a PDF file, Wordpad, Office itself) into an Office program, you get all the funky formatting and crap with it, and dealing with that in Word is simply a pain in the ass. So what if I don't want all the formatting, and just the raw text? Simple: Open notepad, paste the text into notepad - a program that's simply too stupid to know about that kind of stuff, then copy it from Notepad into Office. Viola, the raw text without breaking my carefully formatted Word document. I probably use this trick on average atleast once per day at work, and ironically any real improvements to Notepad would likely make it less useful to me.

    22. Re:I don't see the problem by Anonymous Coward · · Score: 1, Informative

      You could always just use Edit->Paste Special... in Word, then choose "Unformatted Text"...

      But yeah, if you like copying and pasting twice, that works too.

    23. Re:I don't see the problem by totally+bogus+dude · · Score: 1

      I use this "trick" all the time as well, mostly for copying error messages from websites sans formatting, or parts of an email. Another variation is to use the Run dialog, if I'm only copying a single line of text.

    24. Re:I don't see the problem by VGPowerlord · · Score: 1

      You could always just use Edit->Paste Special... in Word, then choose "Unformatted Text"...

      But yeah, if you like copying and pasting twice, that works too.

      I admit... I've done both.

      However, I'm more or less replying to this so that people who have text from anonymous cowards hidden can actually see it.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    25. Re:I don't see the problem by PastaLover · · Score: 1

      When the input box/message box loop of death "DDoS" thing that traps you in a page and forces you to manually kill the process was brought up to Mozila they said it wasn't a problem. Why is a similar DDoS/crash situation an issue for a Microsoft product again? In the past IE crashes have also been tagged as vulnerabilities even though they involved no further penetration into the target box or escalation of privileges.

      The reason it wasn't a bug in Mozilla (or at the very least a hard to fix one) is that mozilla is executing the script on the page perfectly. The problem is that the script has an infinite loop. In newer versions of mozilla there's a detection thing for scripts that go to 100% CPU but I'm not sure about the kind of scripts that pop up alert boxes. Anyway, it does not make mozilla crash and can't be used to cause a buffer overflow or anything like that. It is a form of DoS but of a completely different variety. In short, it is nowhere near a similar bug to this one where Word crashes on malformed input.

      Any software engineer worth his salt should know that you should never just crash on input, but Microsoft is claiming that this is by design. If your app crashes on some form of input by design, you can be sure it's not terribly secure code. And I'm not saying you will not find the same thing in many open source projects, but that doesn't automatically make it right.

    26. Re:I don't see the problem by abaddononion · · Score: 1

      I know of this. I looked around and didnt see if anyone said anything, but it has something to do with the word length. Any words of those exact lengths should always cause the problem. I believe a popular one at one point was "Bush hid the truth", which really had some people freaking out when they say that they really couldnt save that in Notepad, thinking there was some greater conspiracy going on.

      Good times... good times.

    27. Re:I don't see the problem by qualidafial · · Score: 1

      I tried typing in what you said and saved it, but when I loaded it again, it said "Nothing to see hear. Move along." Weird.

    28. Re:I don't see the problem by Anonymous Coward · · Score: 0

      open another FF, navigate to a page with an alert(); go back and close original. problem solved.

  4. Ok. by Anonymous Coward · · Score: 1, Insightful
    In the event that our apps crash, we have recovery mechanisms, ways to report the crash so we know what function had the problem, and so on.

    And what about the document you were working on?

    1. Re:Ok. by forgotten_my_nick · · Score: 1

      > And what about the document you were working on?

      Odds on it still has that as well, which is why a fair few places don't allow their employees to automatically send crash reports to Microsoft.

  5. I didn't know that by alberion · · Score: 2, Interesting

    Windows is filled with these nice features too. Microsoft is sure to include them in every piece of software they release.
    Why spend on testing, when you got paying consumers to do the bug reports for you?
    It may be unethical, but they ARE getting richer by the minute.

    1. Re:I didn't know that by Skadet · · Score: 5, Insightful

      Why spend on testing, when you got paying consumers to do the bug reports for you?
      Because anything more complex than calc.exe is going to have weird bugs that can't discovered within a realistic timeframe to keep release dates. And if I'm not mistaken, open-source software does the same thing. BugZilla anyone? If it weren't for user feedback, a great majority of bugs wouldn't get fixed.
    2. Re:I didn't know that by ady1 · · Score: 2, Interesting

      I agree with the complex software part. The tiny bit of problem is the Microsoft is charging quite a bit of money for the honor of being a beta tester.

      On a completely different note, I've vista installed on one of my PC and the explorer crashes quite often for a 499$ OS.

      My colleagues and friend ask me all the time if they should get vista and I tell them to not waste their time. Even one of my friend bought a laptop with vista preinstalled and he had to revert to XP right after because explorer crashed so often that made the working impossible.

      Is it just me or the quality of Microsoft Products is going down?

    3. Re:I didn't know that by j79zlr · · Score: 1

      Who did you send the extra $99 to? I'll take it next time.

      --
      I'm not not licking toads.
    4. Re:I didn't know that by LWATCDR · · Score: 1

      That is a myth. Software that control aircraft are tested to this level or else many people would die. Even the bug on the F-22 wasn't in the flight system but in the navigation system.
      Yes you can write crash free or very close to crash free software more complex than calc. You just have to design the system that way from the start.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    5. Re:I didn't know that by iamacat · · Score: 1

      Calc.exe had a few artithmetics errors over time. Some were actually mistook for manifestations of pentium FDIV bug.

    6. Re:I didn't know that by Anonymous Coward · · Score: 0

      So... what you are saying is that Microsoft is basically lying when they say that commercially paid for/licensed/supported software is better than open source because of the quality of product they produce (one of the measurements is of course, the QA cycle)?

    7. Re:I didn't know that by bkr1_2k · · Score: 1

      Let's be honest here. Microsoft doesn't release the best software, but it's well beyond beta testing phase when they start charging for it.

      I'm not a huge fan of MS (I use Macs at home) but be realistic. You simply can't produce that much code and find all the problems in any realistic time schedule. Furthermore, you can't recreate as many different possible hardware/software combinations as the user base will. It's just not possible. Let's cut MS a break on this one at least. there are far worse things to fry them for than this.

      --
      "Growing old is inevitable; growing up is optional."
    8. Re:I didn't know that by nuzak · · Score: 1

      > And if I'm not mistaken, open-source software does the same thing.

      Indeed, I'd like to see how OpenOffice stands up against a "fuzzer".

      --
      Done with slashdot, done with nerds, getting a life.
    9. Re:I didn't know that by Voice+of+Meson · · Score: 1

      What you said is true, but not in anyway applicable here. You can write bug free software, it's just several orders of magnitude more expensive and time consuming to write it. It's just common sense that you expect (and deal with, i.e. easy bug reporting, crash recovery) bugs in everything but the small bits of code that are mission critical. We're not looking for seven more astronauts every time Word crashes.

      --
      Dammit! I had a good one.
    10. Re:I didn't know that by Acer500 · · Score: 1

      What are you doing in Vista to have Explorer crash on you?

      I have 5 full-time Vista users so far, and while it has a long list of bugs and annoyances (even with UAC disabled), I can say it has been fairly stable.

      I'd go back to XP if I bought a Laptop, but not because of stability, rather because I haven't found any killer feature and way too many annoyances - although I switched a user from 2k to Vista today and I have to say the visual and ClearType improved the visual experience a lot, too bad the user found it "confusing" and had to deal with the PC hibernating (by default after 1 hr) and updating automatically at 3 am (by default) and asking permission for everything (by default).

      --
      There are three kinds of lies: lies, damned lies, and statistics.
    11. Re:I didn't know that by xero314 · · Score: 3, Insightful

      You can write bug free software, it's just several orders of magnitude more expensive and time consuming to write it. I was gonna let all this slide by but after reading that line I had to jump in. This is complete rubish. An absolute line made up by supporters of Agile development and Frauds out to suck millions of dollars from ignorant venture capitalists. Look I'm sick of hearing this. As a software Engineer I have experienced bad software development and good software development, and believe it or not, good, solid, bug free (99.9%) software takes less time to design, write and test, than the majority of the crap beta software corporations like MS spits out to the unsuspecting public. And that's not even getting into the fact that programs like word are far more complex than they need to be to accomplish exactly what they end up doing.

      I'd apologize for the rant but this kind of bullshit spouted by slack ass "Programmers" and "Developers" just pisses me off to no end. Keep thinking your gonna have that job security you always wanted by making sure there's no one else that can weed threw your garbled mesh of spaghetti, when in reality making software that actually works if far more job securing. But then again I would probably be out of work if the "developers" of the world actually did their shit right since organizations would need people like me to clean it all up.

      Fuck the karma, some one had to finally clear this up, too bad no one in a position to actually change things will read this.
    12. Re:I didn't know that by unicode · · Score: 0

      Try:
      (1) Opening notepad.
      (2) Typing in Japanese characters.
      (3) Printing the document.

      You get the crazy squares....so much for note pad being a good editor in windows. Perhaps Microsoft should get note pad problem sorted then move onto fancy new office features.

      I have reported several bugs with Microsoft Office for Mac.....I do not use office myself, but many people I know do. I try it out with them and see for myself.

      I understand that Microsoft probably has priorities set to making word work really well on windows (perhaps this topic proves otherwise), and they see these bugs on the Mac as secondary issues. However, I have never even recived a reply, and all the bugs reported are still there with every update that comes out. The least they could do is reply and say "We will look into this. Thank you for bringing this issue to our attention".

      I think for a comerical software company a time frame for a fix would be even more useful.

      Recently I have started telling people to use Pages, LaTeX, TextEdit, or any number of the many more reliable solutions which are availible.

      Ohh.....that was my rant...thank I feel better now!

    13. Re:I didn't know that by ady1 · · Score: 1

      I am doing all kind of crazy stuff and it's no wonder that explorer crashes so often.
      You know like opening the explorer and actually trying to locate and copy/move files with it. Sometime I even leave it open for hours while I do other daredevilish stuff like playing music with earphones attached and doing office work.

      Surely this isn't what the OS is designed for, right?

    14. Re:I didn't know that by FireFury03 · · Score: 1

      And if I'm not mistaken, open-source software does the same thing. BugZilla anyone? If it weren't for user feedback, a great majority of bugs wouldn't get fixed.

      I find the major difference between reporting bugs to propriatory software and reporting them for Free software is the visibility of the process.

      When you report a bug for propriatory software you tell them there's a problem and then your report vanishes into the darkness and eventually it might get fixed in a few years time if you're lucky (and probably won't be documented in the release notes - the only way you'll find out it's been fixed is by trying it), and you'll probably then have to pay a lot of money for a new version of the app that fixes your bug.

      When you report a bug in Free software then it usually goes into a publically accessible bug tracker (and you can see if other people are having the same problems). By keeping an eye on the bug tracker you can see when your bug gets resolved or rejected (and the reasons why it was rejected), people can propose workarounds, you can get insight into why the behaviour is like it is. Then when the problem is fixed you can get the resolution for free.

      Honestly, the number of times I've seen "there are no known problems with this release" in release notes for propriatory stuff when there is infact still a bug that has been reported to the vendor by numerous people over the past few years, it makes you stop bothering to spend the time filing bugs since the vendor clearly can't be bothered to deal with them (or even admit that they are there).

      Visibility is a big deal - if you can quickly search to see if the problem you're seeing is a known problem (maybe even with a known resolution) then you can save yourself a lot of time, and being able to track the progress of your bug report encourages people to report more stuff in the future.

    15. Re:I didn't know that by Jussi+K.+Kojootti · · Score: 1

      Not everyone shops at the same place as you do. I just checked and the Vista prices at the best shop around here go up to 496 euros, which is about $670...

    16. Re:I didn't know that by adah · · Score: 1

      As a software Engineer I have experienced bad software development and good software development, and believe it or not, good, solid, bug free (99.9%) software takes less time to design, write and test, than the majority of the crap beta software corporations like MS spits out to the unsuspecting public.

      Show us your way, great Moses, how to defeat Microsoft the ugly giant with your little finger. Enlighten us with your wisdom how to design bug-free software and solve the software problems for once and for good!

    17. Re:I didn't know that by Anonymous Coward · · Score: 0

      99.9% isn't bug free, not even close.

      Tell the software developers working on the Ariane 5 that solid, bug-free software isn't that hard to make. Their mistake cost half a billion dollars.

      The only software out there that's even close to perfect is stuff like the Space Shuttle control software, which has had less than a score of bugs during its multi-decade lifetime. This comes at an enormous cost. The Shuttle software team is orders of magnitude larger than a normal development team and produces output that is orders of magnitude smaller.

      Certainly we can do much better than Microsoft, but to claim that there is some simple way to make bug-free software and we're all just missing it because we don't listen or we don't feel like it or we think the bugs result in job security is simply idiotic. I guarantee that your software has bugs, even critical ones, and you have no secret sauce that the rest of us don't.

    18. Re:I didn't know that by xero314 · · Score: 1

      99.9% isn't bug free, not even close. By 99.9% I mean no critical bugs, with a possible superficial bug like a button in a UI being slightly out of place. I certainly meant no fatal bugs or exploits. A non critical functions that only triggers 99 out of 100 attempts is a bug, but nothing compared to what is being released these days. Personally I think 100% bug free software can be released, I just didn't want to scare anyone.

      ...to claim that...we think the bugs result in job security is simply idiotic. I would have thought so too if I hadn't heard this on multiple occasions by so called "Senior Developers", and that's just one of the despicable phrases that gets thrown around by rapid development oriented teams. I know that probably comes of as some sort of anti-agile rant but that's not the point. The point is that it's common developer attitude, as is illustrated clearly in the quote below, that is causing the industry to be full of bug riddled software and generally unhappy, and certainly no more productive, users.

      I guarantee that your software has bugs, even critical ones, and you have no secret sauce that the rest of us don't. Yes and no. Software written under my direction, without some higher up undermining my decisions, is bug free, released on time or earlier, with lower budgets than most other projects doing equivalent work. I make sure specs are meet to the exact degree necessary without trying to be fancy or have the teams imagination run wild with "enhancements." What you are correct about is that I have no "secret" that allows this to happen, just like there was no secret behind MOS Technologies ability to create Integrated Circuitry at 1/5th the cost of competitors. The answers are right in front of everyones face they just have to get out of artistic/magician mode and into engineer/architect mode.

      It really irks me when people think good products are expensive and time consuming. It's like shopping at Wal-Mart. Sure it seems cheaper, until you have bought the same product 6 times because it's so "cheaply" constructed it keeps breaking. I doubt you can even find a compelling reason for there to be a new version of MS Office, just to name one program, other than to fix the bugs in the last one.
    19. Re:I didn't know that by Anonymous Coward · · Score: 0

      I personally think Office is total crap, so you won't find me defending it.

      However, I will assert that the reason you don't find critical bugs in your programs is because they are either trivial or because they aren't stressed enough.

      If you know how to build software with absolutely no critical bugs then I would like you to share your process. Even the acknowledged experts in this field such as the OpenSSL and OpenBSD teams still introduce remote code execution vulnerabilities into their code on an occasional basis. It would also be handy to tell the Shuttle team that they can lay off 90% of their staff and start adding some nifty new features.

    20. Re:I didn't know that by xero314 · · Score: 2, Insightful

      I will assert that the reason you don't find critical bugs in your programs is because they are either trivial or because they aren't stressed enough. You can assert all you would like, but you would be wrong. Oddly enough, bug riddled software like Office Suites are far more trivial, being common place, ordinary and even of little importance, than the most bug free software, including projects I have lead. Non-trivial software, such as where lives are at stake, does not have these types of flaws, or are less likely to have these flaws.

      Even the acknowledged experts in this field such as the OpenSSL and OpenBSD... Anyone that has known me realizes I am no supporter of Software projects that allow pretty much anyone to put their hands in the code (which is not to be confused with the concept of free or open source software), so using the examples of OpenSSL and OpenBSD developers as an example of "experts" is not going to go far. But that being said both of those projects are well above average in quality and that is without the ability to use strict engineering techniques.

      If you are looking for a "silver bullet" to all the woes of software development you are not going to find it, just like the architects and physical engineers of the world have never found one in their fields. But what Engineers have found is that building something right the first time is the most effective (a.k.a. cheapest) way to build. It may be sad but if we started allowing users and clients to sue for bugs in software you would see software become more stable and bug free fast. Yes it does take a lot of resources to build something that will last the test of time, but it's far more effective than rebuilding it for eternity (could you image trying to keep the Great Pyraminds standing had they been built from cheap materials like card board, or should I say papyrus board).
    21. Re:I didn't know that by Anonymous Coward · · Score: 0

      I've seen how OpenOffice Writer handles malformed files. It simply tells you the file is corrupt, and cannot be opened. There is no reason for any application to *crash* when presented with an invalid file. Any claim that that's a good behavior in *any* way shape or form is unmitigated bullshit.

  6. I Wish by Mockylock · · Score: 5, Funny

    I wish I could just pass out when my wife asks me some stupid question that I don't want to answer. Better yet, when I'm asked to fix a bug at work, it would be nice to just roll over and hit the snooze. Let's apply this everywhere.

    --
    "Please, shut up. Just when I think you can't say anything more stupid, you speak again." -Archie Bunker.
    1. Re:I Wish by Mr.+Underbridge · · Score: 1

      I wish I could just pass out when my wife asks me some stupid question that I don't want to answer.

      On a related note, it's astounding how poor my hearing has gotten in the last couple of years.

    2. Re:I Wish by Mockylock · · Score: 1

      I agree. I'm beginning to realize that my father actually wasn't losing his hearing when I was growing up. It's amazing how well he can hear now that I have children of my own. But, for some reason he just smiles and laughs.

      --
      "Please, shut up. Just when I think you can't say anything more stupid, you speak again." -Archie Bunker.
    3. Re:I Wish by petehead · · Score: 1

      I wish I could just pass out when my wife asks me some stupid question that I don't want to answer

      What would actually happen is that your wife would tell you to do something and you could only say OK or cancel. There would be no option for "No, not ok". If you cancel, the next time you see her, she will ask again.

    4. Re:I Wish by Mockylock · · Score: 1

      What about when she asks, "Does this make me look fat?" Though you really wish there were other buttons, "cancel" would be your best bet. The option for "OK" should not be available, because the temptation is tooooo strong. Then again, I'd rather just play dead.

      --
      "Please, shut up. Just when I think you can't say anything more stupid, you speak again." -Archie Bunker.
    5. Re:I Wish by Brandybuck · · Score: 1

      Better yet, when I'm asked to fix a bug at work, it would be nice to just roll over and hit the snooze.

      What's the problem. I do this all the time!

      --
      Don't blame me, I didn't vote for either of them!
    6. Re:I Wish by Mockylock · · Score: 1

      Where's the application and how much does it pay?

      --
      "Please, shut up. Just when I think you can't say anything more stupid, you speak again." -Archie Bunker.
    7. Re:I Wish by celkin · · Score: 0

      A more convenient set of options for that question would be "cancel or allow."

      --
      "Oh c'mon, I wumbo, you wumbo, he/she/me...wumbo, wumboed, womboing...wombology? The study of wumbo? It's first grade,
    8. Re:I Wish by Hal_Porter · · Score: 1

      My experience of jobs like that is that you pay them, since they pay you a lower salary than a real job.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  7. Let me see... by AKAImBatman · · Score: 4, Insightful

    ...if I understand this correctly. Basically, a security researcher believes he's found a buffer overflow. However, he has not yet found a way to exploit that overflow because Word keeps crashing. Microsoft says that the crash is preventing any security hazard, and therefore there is none. Correct?

    I hate to say it, but I'm going to have to come down on Microsoft's side on this one. If it's a non-exploitable crash, then it's a simple bug in handling corrupt documents and nothing more. The researcher can ring everyone again once an exploit has been found.

    As for the DoS potential... seriously, why is everything a "Denial of Service" with these guys? It's a bad document. Word crashes. Life goes on. It's not like your computer is going to become unusable because Word crashed. You get minorly inconvenienced by the jerk who sent you the document, you figure out that the doc is bad, then you move on.

    1. Re:Let me see... by bendodge · · Score: 0

      Exactly. It's expected than any app will crash if you feed it malicious junk.

      --
      The government can't save you.
    2. Re:Let me see... by belmolis · · Score: 4, Insightful

      If the facts are as you've described, I agree that there isn't a security issue here. There is, however, still a bug. Anytime a program crashes for reasons other than hardware failure, there is a bug. If it takes really unusual input to do it and there are no security consequences, it may be a minor bug, but it is still a bug.

    3. Re:Let me see... by Deadbolt · · Score: 5, Insightful

      I hope you're not serious; if you are, I'm never letting you near any code I'm responsible for.

      By definition, the app crashing is a denial of service. It's no different than sending a Christmas tree packet to an ancient unpatched router: it goes boom, shuts down the network, no network service. Word crashes: boom, document maybe lost, no use of Word.

      A program must be able to recognize invalid input and take appropriate action. Allowing (or forcing) a crash is NOT acceptable.

      --
      "Honey, it's not working out; I think we should make our relationship open-source."
    4. Re:Let me see... by drinkypoo · · Score: 5, Informative

      Exactly. It's expected than any app will crash if you feed it malicious junk.

      Sorry, I don't buy it. The only way that is a valid expectation is if you explicitly tell it to crash when it gets malformed data, which is offensive and stupid. The proper thing to do is to tell it to alert the user if there is malformed data, and then clean up and get ready to parse another document.

      Crashing is definitely a sign that something bad is happening. Traditionally, when an app crashes because of an invalid document, it's writing to some memory it shouldn't be. This is a sign of lazy or stupid programmers not doing proper checking of the input.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Let me see... by Ckwop · · Score: 5, Interesting

      owever, he has not yet found a way to exploit that overflow because Word keeps crashing. Microsoft says that the crash is preventing any security hazard, and therefore there is none.

      The Open BSD guys have a philosophy: "The only difference between a bug and a vulnerability is the intelligence of the attacker."

      I wish more programmers held this view! A bug is an undefined state of the program. It's quite clear that this is a dangerous position for your program to be in. Bug really are baby vulnerabilities. It's best to remove them as soon as you find them.

      Simon

    6. Re:Let me see... by kebes · · Score: 4, Interesting
      I totally agree that calling this a security flaw or DoS is silly. Until it is actually used to exploit the program, it's not a confirmed security flaw.

      However using bad documents to crash Word is still a flaw in Word, in my opinion. The application should just say "Can't open bad/corrupted document" and let the user keep working. In the blog he says:

      The theory is that it is better to crash (at least with client apps) than it is to be running the bad guy's shell code.
      I understand the rationale, but I would argue it's rather sloppy programming that uses a crash as a means to prevent such bad things from happening. Exceptions can be thrown, but they should be caught and used to halt the "bad actions", and revert back to a normal program state.

      Obviously it is better to crash than to execute arbitrary enemy code. However it's better still to just refuse to execute arbitrary code, but otherwise keep running. The problem with using crashing as a security system is that then the "bad guys" will try to crash your application on purpose (calling it a DoS is a stretch, mind you), which opens up new security problems. (A crashing app may expose other security vulnerabilities, disclose otherwise protected information, destabilize other apps/the OS, etc.)
    7. Re:Let me see... by sqlrob · · Score: 1, Flamebait

      No, it's not. Any well written app should be able to handle any junk thrown at it without crashing.

    8. Re:Let me see... by Anonymous Coward · · Score: 0
      Feeding Word an Oracle dmp is a denial of service too? Crashing is almost always better than invalid output escpecially in the long run.

      Word crashes: boom, document maybe lost, no use of Word. No use of Word for that one invalid document. You can open it back up again with other documents. How is this a DOS? Do you expect Word to open up the Oracle dmp and allow you to run queries on it. Or does just by Word popping up a box saying invalid input make it all ok now?

      Allowing (or forcing) a crash is NOT acceptable. People pay good money for the Office suite. Apparently they find it acceptable.
    9. Re:Let me see... by Anonymous Coward · · Score: 0

      Denial of Service attack... is of course if your system can be compromised while playing solitaire. Now people would be worried about that, but I agree, word? That's always a good excuse to postpone your work "OOpss, it crashed, I'm playing solitaire in the mean time".

      Did you see the implications of hacking Solitaire!?....mmm.. that might be a good science project.

    10. Re:Let me see... by zappepcs · · Score: 1

      I agree with you but would like to point out that there are times and circumstances where a crash/reset is a better option. In RT comms systems, down time is far more expensive than a crash/reset could be. If a critical system or process is thrown into an unrecoverable circumstance such as corrupt table index etc. it is much preferable to crash/reset and start anew than to wait and stop processing traffic for 2 hours until the technician arrives to push the reset button. The recovery process associated with startup fixes some things.

      I agree that this is unacceptable behavior for a word processing app, but still, some times in some circumstances, the crash and reset process if curative and beneficial.

    11. Re:Let me see... by goatpunch · · Score: 1

      Traditionally, when an app crashes because of an invalid document, it's writing to some memory it shouldn't be.
      It could also crash because of a divide by zero, null pointer dereference, etc. No memory problems in these cases. Could be a sign of lazy programming, or just a misguided sense of 'improving performance' by not making 'unnecessary' checks.
    12. Re:Let me see... by Cristofori42 · · Score: 1

      it's not like your computer is going to become unusable because Word crashed.

      Actually, I would argue that it would become more usable because Word crashed.

      --
      "Is that dad? Either that or Batman's really let himself go."
    13. Re:Let me see... by drinkypoo · · Score: 1

      It could also crash because of a divide by zero, null pointer dereference, etc. No memory problems in these cases. Could be a sign of lazy programming, or just a misguided sense of 'improving performance' by not making 'unnecessary' checks.

      Sure, I don't dispute that. But regardless of how you look at it, it's a program error, not desirable behavior. Also, I did say "traditionally" - although "typically" is closer to what I wanted to say :) But both leave wiggle room.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    14. Re:Let me see... by d-rock · · Score: 1

      I run a pretty big network and if my primary router resets because the watchdog timer trips (basically what you're describing here), we send the crashdump log to the vendor and they fix the bug. I've never had a vendor say "oh, a crash is normal and appropriate behavior."

      Derek

      --
      Don't Panic...
    15. Re:Let me see... by Anonymous Coward · · Score: 0

      BABY KILLER!

    16. Re:Let me see... by Anonymous Coward · · Score: 0

      People pay good money for the Office suite. Apparently they find it acceptable. Wrong!

      Sophism::ArgumentumAtPopulum

      Thanks for coming, and feel free to try again!
    17. Re:Let me see... by Anonymous Coward · · Score: 0

      Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted.

    18. Re:Let me see... by alexhs · · Score: 1

      I guess you weren't paying attention when MS decided that a crash was more user friendly than a "malformed document" dialog box :)

      I mean, if the application crash, any user will know that something bad happened. If you give the average user a dialog box, he will automatically click OK without reading it (he has been trained to do that), then go puzzled : "huh, where's my document ?".

      Therefore MS choice :)

      I think i shall add some more :) :) :) just in case someone could take that seriously, after all it's MS we're talking about :)

      --
      I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
    19. Re:Let me see... by try_anything · · Score: 1
      First, the Microsoft guy says that the reported behavior would constitute a DoS:

      If you can crash my app so that I can't restart it, or have to reboot my system, well, OK - that's a DoS.

      The other article, based on the security researcher's work, calls the same thing a "denial-of-service-like situation":

      Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted.

      The disagreement is not over how to describe the reported behavior. The blog entry by the Microsoft guy talks about a simple, harmless crash, not a freeze and reboot, which means he isn't addressing the more serious reports at all. The official quotes from Microsoft take the same tack. It seems that Microsoft is disputing the existence of the freeze-and-reboot bug, or maybe they're just focusing on the less severe bug to confuse the issue and distract from the serious ones. Unfortunately, none of the linked articles answers that question. I can't tell whether this is being spun by Microsoft or by an anti-Microsoft summary writer, but something is missing from the story.

    20. Re:Let me see... by Anonymous Coward · · Score: 0

      Any time you end up with a thoroughly eaten CPU, you have a denial of service opportunity. And any time your application crashes due to user-supplied data, you have a bug.

      Personally, I don't care if you refer to these situations as security flaws or bugs. But don't claim that crashing is protection. A controlled process stop might be protection. A crash is just a bug.

      Anybody who sides with MSFT on this one isn't very intelligent.

    21. Re:Let me see... by ppanon · · Score: 2, Informative

      It depends. Does the crash only close down that document? Or does it also crash and lose the changes to the other documents that you've been making for the last two hours? I'm betting on the latter since all open Word documents seem to be managed under a single process. And to me losing pending changes to other documents is a DoS.

      How would you feel if you opened a word document, which you received in an e-mail from a co-worker, that then crashed Word and made you lose some important work you had just been entering?

      --
      Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
    22. Re:Let me see... by Achromatic1978 · · Score: 1

      I'll try. The level of "acceptable failure" is a variable and subjective. The OP asserted it as an undisputable fact, when clearly it is not. Merely providing even anecdotal evidence that some people have a different expectation is not argumentum ad populum, which is only valid when comparing the opinion of some group to this fact. Correlation is not causality. Mere suggestion that other people might have a different bar to you as how many errors are acceptable to them does not make them wrong, nor does it make him wrong for flagging this.

    23. Re:Let me see... by JordanL · · Score: 1

      What would happen if you were able to force Word into a crash cycle? I wonder what the garbage collector would think of it...

    24. Re:Let me see... by N7DR · · Score: 1
      Exactly. It's expected than any app will crash if you feed it malicious junk.

      That's a joke, right? I write security software for PacketCable deployments -- software that is fully exposed to subscribers. If a subscriber can make the software crash, he's just mounted a successful denial-of-service attack against the cable-based telephony network. If anyone ever succeeds in doing this against my software, then that means I didn't do my job right. Software should be robust, and the notion that it should be permissible for a professional to write/deploy/sell/distribute any software that breaks when you feed it bad data is simply wrong.

    25. Re:Let me see... by Anonymous Coward · · Score: 0

      > Exactly. It's expected than any app will crash if you feed it malicious junk.
      > > No, it's not. Any well written app should be able to handle any junk thrown at it without crashing.

           . . ==~~**

           wwwww
         (| o o |)
          |  v  |
          \  =  /
           -----

      The little "==~~**" is a flying animal called a 'sarcasm'. The thing behind it is called "sqlrob (173498)"

    26. Re:Let me see... by tkinnun0 · · Score: 3, Insightful

      Exceptions can be thrown, but they should be caught and used to halt the "bad actions", and revert back to a normal program state. In an unsafe language, like C++, as is the case with Word, once you have encountered undefined behavior, all bets are off. There is no way to be sure from within your program that you are not already running the attacker's code. The only thing you can do is tell the OS to shut down your program and hope the call goes through.

      In a safe language, like Java, and with a program that can be expressed as a work queue, you can isolate changes to global state and, in the case of a work item failing, provided your thread isn't in an endless loop, ignore the results from the item and carry on. Of course this doesn't mean that the global state is valid. In fact, a failing work item may be an indication that the program is being moved towards an invalid state, and the proper thing would be to crash.
    27. Re:Let me see... by Anonymous Coward · · Score: 1, Insightful

      Sounds like you're calling any crash a DoS. If that's the case, then DoS is pretty meaningless and is only used to sensationalize an issue.
      BTW, when Word crashes, the documents are saved in their current state, and the user is given the option to continue working on them next time Word is started.

    28. Re:Let me see... by Anonymous Coward · · Score: 0

      The Open BSD guys have a philosophy: "The only difference between a bug and a vulnerability is the intelligence of the attacker."


      The OpenBSD guys also explictly do not label fixes to such bugs as "security fixes", but rather as "reliability fixes". Furthermore, such fixes are often considerably delayed.
    29. Re:Let me see... by smaddox · · Score: 1

      Or you could check the file for the malicious code and throw an exception before running it.

      Of course, this is only a hack to fix the bug. The correct solution is to make sure that when you make an assumption (ex: header X length is less than 256 bytes) that you ASSERT it. If it fails the assertion, you throw an exception and either try to recover, or give up and close the document and present an error to the user. It should not UNDER ANY CIRCUMSTANCES CRASH!!!

      Like others have said before me, if a program crashes, it almost always means something was altered/written to that shouldn't have been. If someone takes the time to figure out how to alter it in just the right way, he can compensate the box (ex: find a way to branch to code you implanted and run it. This can be done an infinite number of ways, and all it takes is some hard work and a certain cleverness to pull off.)

      The people who are saying "a crash doesn't necessarily mean a security issue" have a flawed understanding of how exploits work. They all start by finding a crash - then its just a matter of time and effort to actually use the crash to run unauthorized code.

    30. Re:Let me see... by misleb · · Score: 4, Interesting

      The point is that a malformed documented shouldn't throw a word processor into an unrecoverable state. That is a bug. I don't know whether or not it is a denial of service attack. That is debatable, but not properly handling an exception in a document is definitely a bug. A word processor can simply tell the user, "hey, this document is fucked, I can't open it." If it just crashes, the user could possibly lose data in other open documents. And that is a Bad Thing(tm).

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    31. Re:Let me see... by zappepcs · · Score: 1

      I don't think it should be normal, but it can stop network downtime so that all is well until the vendor figures out what the crash dump means.

      In fact, I spent over 8 months tracking a bug that caused this type of scenario. In the end it was a cross linked index that only caused an error when a particular device was addressed. The behavior of handling the cross linked index entry for that subscriber was the bug, but finding it took a LOOOONNNGGGG time. In the mean time, the crash/reset saved us unknown hours of complete system downtime. Trying to maintain Six Sigma type uptime on a communications network is important to customers, and this crash/reset behavior helped us keep at least the appearance of such while we were trying to find the bug.

    32. Re:Let me see... by Anonymous Coward · · Score: 0

      I certainly wouldn't want my web browser to work that way...

    33. Re:Let me see... by Anonymous Coward · · Score: 0

      The Open BSD guys have about 1/10 of 1% of the market (from the pull-a-statistic-out-of-your-ass department). So it's a winning formula, obviously.

    34. Re:Let me see... by LWATCDR · · Score: 1

      Well yes and no.
      If the OS terminates a program that is causing a potential security violation like a stack overflow then that is a feature of the OS and a bug in the application.
      Word has a bug that may or may not be a security issue but a bug none the less.
      Frankly anytime a program crashes because of a damaged datafile I really want to smack the programmer.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    35. Re:Let me see... by bean123456789 · · Score: 1

      This is a sign of lazy or stupid programmers not doing proper checking of the input.

      While I agree on this point, it also is becoming blatantly obvious that MS's testing is really lackluster as well. Proper testing should have brought this to light long ago.

    36. Re:Let me see... by Jherek+Carnelian · · Score: 3, Insightful

      A program must be able to recognize invalid input and take appropriate action. Allowing (or forcing) a crash is NOT acceptable.
      Sounds like you've never heard of a kernel panic.

      Sometimes immediately dying is the best option - when you reach a point in the code that "should never happen" then you can not count on the integrity of anything else within the program at the time. At that point the ONLY safe option is to "go boom" thus assuring that whatever the problem is, at least it won't corrupt anything else.
    37. Re:Let me see... by noidentity · · Score: 1

      I'll second your defense. It sounds like Word is not crashing, simply exiting abruptly. Yes, there is a difference; a crash is when the code performs an illegal low-level operation, like accessing a bad memory address or dividing an integer by zero, where the OS immediately halts the process, while this sounds like the Word application code having something along the lines of "if having_problems then exit". I really hate it when people refer to a program crashing even though it intentionally exited (even if this was due to detection of a higher-level problem, like a failed invariant).

    38. Re:Let me see... by Threni · · Score: 1

      > By definition, the app crashing is a denial of service.

      No it's not. XP will handle a failing app and shut it down. Unless you're suggesting that any mishap which distracts or inconveniences somebody for more than a fraction of a second is stopping them from getting work done and is therefore `denying` them the ability to perform whatever `service` they were doing before they were interrupted.

    39. Re:Let me see... by debiansid · · Score: 1

      Believe it or not, I'm currently supporting a software system that does exactly that. If an error condition occurs, it deliberately crashes. When asked why crash the app deliberately instead of, say, automatically email the maintainer with details of the problem, i was told "this way you'll be extra extra careful and ensure that the crash does not happen".

    40. Re:Let me see... by iamacat · · Score: 1

      It's a matter of defensive programming. By the time you detected malformed data, it could have already disrupted your program's state. If you display a message box and continue, this inconsistency could alter your program's behavior and possibly even cause it to do malicious actions. All of us have seen programs weird out after displaying a mysterious message box, and let's not get started on aftereffects of Java or Objective C exceptions thrown and ignored by a message loop. If uptime of your program is not critical, its better to bail out right away. I assume Word has some way to recover edits in other documents modified at crash time.

      On the other hand, not providing a simple menu bar as an option in Office 2007 is brain damage. As if we have nothing to do besides learning proprietary UI controls of 50 different applications installed on the computer.

    41. Re:Let me see... by N3Roaster · · Score: 1

      The solution to that problem is to not provide the user with an OK button. A Cancel button would make sense in this case, but I suspect that single button dialogs are also likely to get auto-clicked, leaving the user wondering where that document went (since they didn't read the note that the document was bad). I propose the dialog have two buttons, "Cancel" and "Oh Crap".

      --
      Remember RFC 873!
    42. Re:Let me see... by jimicus · · Score: 1

      A program must be able to recognize invalid input and take appropriate action. Allowing (or forcing) a crash is NOT acceptable.

      Word might have a bit of a problem there.

      I'm not agreeing with the design , but AIUI a pre-"Office 2007 XML format" word document is basically a memory dump of the area of memory the document was stored in. With very little sanity checking going on at the load document stage (in theory you don't need it because you'll never be able to save a document which causes Word to crash anyway), it has always been possible to kill Word with a corrupt document. There's probably a lot more sanity-checking in the code nowadays, but the fundamental design remains.

      I saw similar things happen with corrupt word documents back in the days of Word 6/Windows 3.0.

    43. Re:Let me see... by grant420 · · Score: 0

      So (from TFA) you'd rather Word stay open and allow you to run malicious code? I call bullshit. But at least if it did, then you'd really have something about which to to bitch to Microsoft.

    44. Re:Let me see... by mjm1231 · · Score: 1

      It's not like your computer is going to become unusable because Word crashed.

      Except, tfa states that that is exactly what does happen. Though there still ought to be a name for it other than DoS.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    45. Re:Let me see... by Anonymous Coward · · Score: 0

      "It's a matter of defensive programming. By the time you detected malformed data, it could have already disrupted your program's state."

      What?? What kind of spaghetti code do you work on? If your data verification code doesn't know how to examine data and quickly notice if there are problems, you have one major design flaw on your hands.

    46. Re:Let me see... by Anonymous Coward · · Score: 0

      if (!can_read_that())
      {
              log_err("random error msg");
              exit(1);
      }

    47. Re:Let me see... by iamacat · · Score: 1

      Ever heard of the halting problem?

    48. Re:Let me see... by charlieo88 · · Score: 1
      From the article:

      Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted.

    49. Re:Let me see... by d-rock · · Score: 1

      Don't get me wrong, I completely agree with you. What I was trying to point out is that in this case it appears that MS is simply saying: "That's how it's supposed to be" and they aren't going to look at it any further. I think you'll agree that it's not quite the same thing.

      Derek

      --
      Don't Panic...
    50. Re:Let me see... by bendodge · · Score: 1

      That's somewhat different. A Word doc is much more trusted by Word than transmissions to an ISP are.
      I admit I'm wrong, but your example is irrelevant. I did like this though: http://slashdot.org/comments.pl?sid=230709&cid=187 23977

      --
      The government can't save you.
    51. Re:Let me see... by AK+Marc · · Score: 1

      By definition, the app crashing is a denial of service. It's no different than sending a Christmas tree packet to an ancient unpatched router: it goes boom, shuts down the network, no network service. Word crashes: boom, document maybe lost, no use of Word.

      You are off on your analogy. It's like having a router dump all current memory because of a bad packet. It'll force a re-send of whatever was buffered, but it will continue to operate just fine before and after the problem. It certainly doesn't down the entire device, just a little hiccough.

    52. Re:Let me see... by VertigoAce · · Score: 1

      That is why Microsoft considers these issues to be bugs in Word. All Microsoft said is that these aren't security bugs. It's fairly likely that the issue is something like an integer overflow using the SafeInt classes. In other words, an exception is thrown before a security vulnerability could occur. This exception is not handled because the programmer didn't expect an overflow. The correct thing to do when you have an unexpected exception is to bring down the program as fast as possible.

      A global exception handler can't possibly know how to recover from any conceivable error, so it doesn't try to handle them. Incorrectly handling an unexpected exception will *introduce* security vulnerabilities that wouldn't have been there had you let the program be killed by an unhandled exception.

    53. Re:Let me see... by drinkypoo · · Score: 1

      By the time you detected malformed data, it could have already disrupted your program's state.

      I think you're taking this "information wants to be free" thing too far. Malformed data cannot "disrupt your program's state". Only your program's misparsing of the data can do that. You cannot blame it on the data! Your program is responsible for verifying input!"

      I assume Word has some way to recover edits in other documents modified at crash time.

      Yeah, and sometimes it even works!

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    54. Re:Let me see... by Anonymous Coward · · Score: 0

      "The Open BSD guys have about 1/10 of 1% of the market..."

      Won't argue that but what percent of the router/bridge market do they have, I wonder? I mean, SHO is the area that OS is used and is really not a comprehensive multimedia desktop OS. I wonder if OBSD beats Microsoft in the router/bridge market?

    55. Re:Let me see... by msuarezalvarez · · Score: 1

      Wow. What an absurd response!

    56. Re:Let me see... by N7DR · · Score: 1

      He said "any app". So I think any example is relevant, on the grounds that it's "an app" :-)

    57. Re:Let me see... by msuarezalvarez · · Score: 1

      Well, refusing to pen the file and present a nice dialog explaining why she is not seeing her file to the user might be a more polite way of doing it, don't you think?

    58. Re:Let me see... by Anonymous Coward · · Score: 0

      I maintain that if you are executing _unverified code_ from a DOC, you are setting yourself up for all kinds of security problems.

      Yeah, "halting problem". Why in the world should the data even allow a halting problem? It's trivial to prevent a halting problem by refusing to execute any code that has even the slightest chance of halting. Better a false positive than false negative. Security or compatibility. Pick one.

    59. Re:Let me see... by VertigoAce · · Score: 1

      Word will give you a message box indicating a malformed document. The problem here is that the document isn't detected as being malformed before raising an unhandled exception. This is a bug that they admit exists and should be checked for.

      All they are claiming is that it is not a security flaw. The exception is raised because there is an issue that might cause a security flaw had the exception not been raised. Since the exception was unexpected, there is no secure way of handling it except to shut down as quickly as possible. Any other response runs the risk of introducing a new security vulnerability. This would be worse than the original bug.

      And in case the first response was that all possible locations of exceptions be checked, this simply isn't realistic. For example, every single arithmetic operation can cause an exception. Consider the fact that in C, "(a + b) + c" is not necessarily the same as "a + (b + c)". This is a trivial example, so if you don't immediately spot why, then you probably have written code with integer overflow errors. The only practical option is to include error checking where you expect errors to be first detected. If you miss a case, you'll end up with a bug. If you are using a safe integer class, an exception will be thrown on overflow. Since you weren't expecting it, your program will shutdown. If you weren't using a safe integer class, you'll have a potential security vulnerability.

    60. Re:Let me see... by Anonymous Coward · · Score: 0

      It's expected than any app will crash if you feed it malicious junk.

      Um... no. You can expect the app not to handle it normally, but I wouldn't expect it to crash. I'd expect it to say, "sorry, this document is invalid, I can't open it" or something similar.

      Last year I worked on a maintenance update for a text editor. Someone noticed that if you opened a DLL in the text editor, the app would crash. Now, no one in their right mind would try to open a DLL in a text editor*, so the crash would never have occurred under proper usage. But it was still a bug, because it shouldn't have crashed. And users excel at finding unanticipated use cases. Solutions we looked at included: Don't open invalid files, find some way of handling invalid characters without crashing, strip out invalid chars and warn the user -- any of which would have been preferable to letting the app crash.

      If you feed an app malicious junk, you should expect the app to refuse it or filter it out.

      *Actually, that's not entirely true -- I used to open .BMP files in Notepad from time to time when I couldn't get access to a hex editor to change the one bit needed to make the color palette cycle on replacement boot screens for Windows 95. Either that or I wasn't in my right mind anyway.

    61. Re:Let me see... by Eivind · · Score: 2, Insightful
      A kernel panic indicates one of two things:

      Either a bug in the kernel (included loaded modules)

      Or a malfunction or bug in one of the components the kernel needs to run (example: flaky memory)

      The first are the most common; we somehow got into a state we shouldn't be in. Thus we must have messed up, and the safer choice is to refrain from further actions, since we may be insane in general. These are nevertheless bugs, and should offcourse be acknowledged as such and fixed when possible.

      The second isn't really our fault. It's not really possible to write an OS in such a way that it gets the correct results even when the hardware it runs on gets it wrong. If the OS asks the CPU to calculate 2+2 and the CPU comes back with 5, there's not really much the OS can do about it.

      That being said, there's cases where Linux kernel-panics in situations where it'd be possible to recover. A failed disc can panic a kernel, yet that shouldn't really be possible, except for if that disc is used as swapspace. These are bugs, or at the very least missing features.

    62. Re:Let me see... by iamacat · · Score: 1

      Suppose your input format supports compression without a preset maximum ratio. In this case, its trivial for a small input file to consume all available RAM. When you detect it, you attempt to free document's data structures. But in order to do that, you need to instantiate classes that decode type information for different nodes. In order to do that, you need memory. Oops!

    63. Re:Let me see... by Anonymous Coward · · Score: 0

      It's a DoS because the correct behavior is one of the following, in order of most preferred to least preferred:

                1) Load the file anyway. This is what openoffice 2.1.2 does -- the document just contains the words "buffer overflow", and all 3 fuzzed varieties properly load. It would be acceptable for Word to complain the file is damaged while loading.

                2) Show an intelligible error message and fail to open the file. Something to the effect of "this file is damaged."

                3) Show an unintelligble error message and fail to open the file. "Internal error 9734 at line 12345 has occured" or whatever. Better than crashing still.

                4) Just don't open the file. It'll be a little mysterious for the user to tell a file to open and (apparently) have nothing happen, but still beats crashing out!

              If word were already open, data could be lost by it crashing! It's attitudes like yours that having apps just randomly crash out is acceptible that makes me ever so happy to be running gentoo and nearly entirely open source apps. openoffice is (IMHO) kind of a piece, but if similar bugs turned up, they could claim it's not a big deal, but someone who realizes it is a big deal could still fix up the bugs.

    64. Re:Let me see... by Bungie · · Score: 1

      Though there still ought to be a name for it other than DoS.

      I agree...I was preparing a long rant about the shortcomings of COMMAND.COM and Microsoft's shoddy support for MSAV (I'm still trying to connect to the Microsoft BBS for updated definitions). Now I hear that the acronym is for denial of service.

      *sign* one day...

      --
      The clash of honour calls, to stand when others fall.
    65. Re:Let me see... by Anonymous Coward · · Score: 0

      I don't know about OFC2k7 (haven't used it much) but if it's anything like previous versions of office, Outlook uses Word as it's editor. Which means one might be able to find a way to craft an email that exploits this bug.

    66. Re:Let me see... by Anonymous Coward · · Score: 0

      Disagree, sorry.

      In the case of Windows servers, developers wish to be notified (and fix!) with Waston reports. To date, a Watson is the only way to phone home to the developer in question that there is something to fix.

      IMHO this is a good use of current tools at MS's disposal:

      crash --> bug
      bug --> somthing to fix.

    67. Re:Let me see... by Bert64 · · Score: 1

      This is a DoS. You could have multiple documents open, and then open a bad one causing a crash. Resulting in you losing all or part of your other documents. Any bug which can cause you to lose/corrupt data is serious

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    68. Re:Let me see... by mvdwege · · Score: 1

      But any crash is a DoS.

      It's just that DoS is the lowest possible severity of a security vulnerability. It is nonetheless a security vulnerability, because if your computer acts in ways you cannot predict, you are not in control of your computer. But the fact that it is a low-severity vulnerability does not make it any less of a vulnerability.

      It is indeed true that DoS conditions are sensationalised, because 'security vulnerability' sounds so damn sexy. Still, just like stealing pennies from a rich man is still theft, a vulnerability is a vulnerability.

      Mart
      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    69. Re:Let me see... by shutdown+-p+now · · Score: 2, Insightful

      Sometimes immediately dying is the best option - when you reach a point in the code that "should never happen"
      Yes, but no kind of input thrown at your program should result in the "it should never happen" code being reached (it's called that for a reason). If it is, then the program has a bug.
    70. Re:Let me see... by shutdown+-p+now · · Score: 1

      In an unsafe language, like C++, as is the case with Word, once you have encountered undefined behavior, all bets are off. There is no way to be sure from within your program that you are not already running the attacker's code.
      You don't "encounter" undefined behaviour. You either code things in such way that their behaviour is undefined, which results in bugs like the one discussed here, or you do the right thing and check all input properly, and stop processing it when it's screwed beyond recovery, displaying a coherent error message, and reverting to where you were before the user asked to open that file. Throwing an uncaught exception is a particularly stupid way to handle the problem regardless of the programming language used.

      By the way, if it already got as bad as "running the attacker's code", it's too late to do anything, really - any exception you throw directly or indirectly may be easily caught by it, and any API function overriden. There's no way to reliably shut your process down if you believe it has had malicious code injected into it. Not that it all is of any relevance to this particular bug...

    71. Re:Let me see... by Anonymous Coward · · Score: 0

      Clarifying the above:
      When Word crashes, a temp copy of the document is saved in its current state, while the original document is left in its last *saved* state. Next time Word is started, it notifies you that Word crashed, and gives you the option of using the temp copy that was saved with the latest changes, or the original file.

    72. Re:Let me see... by drinkypoo · · Score: 1

      Suppose your input format supports compression without a preset maximum ratio. In this case, its trivial for a small input file to consume all available RAM. When you detect it, you attempt to free document's data structures. But in order to do that, you need to instantiate classes that decode type information for different nodes. In order to do that, you need memory. Oops!

      So what you are saying is, suppose I am a bozo who will allocate all available memory and fuck myself over?

      "Oops!" is right. But I don't think it has much to do with what we're saying here. Or rather, it is a spectacularly bad example, because again that is an example of something that you are supposed to take responsibility for as a programmer.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  8. It's officially 1984 by Mateo_LeFou · · Score: 2, Interesting

    The spokesthing actually contends that the crashes are "a by-design behavior that improves security and stability"

    --
    My turnips listen for the soft cry of your love
    1. Re:It's officially 1984 by PPH · · Score: 1

      Thats interesting. Its the same way I keep my car from going too fast.

      --
      Have gnu, will travel.
    2. Re:It's officially 1984 by Anonymous Coward · · Score: 1, Funny

      What century are you living in? Windows morons have in the past claimed that BSODs are good because it shows how much superior windows security is. You see, an attacker can only BSOD your box, instead of taking it over.

      Mucking Forons, fostered by Gucking Fates.

  9. Input validation by Skadet · · Score: 2, Insightful

    I'm going to go ahead and say that it's not necessarily a "security risk" as it is lazy coding. The majority of us here know the importance of input validation; just because the file ends in .DOC doesn't make it a bona-fide, working Word document.

    If Word went ahead and executed arbitrary code, that's one thing. But as it stands, it just crashes out. Elegant? Not by a long shot. Security risk? Not so much.

    1. Re:Input validation by idontgno · · Score: 4, Insightful

      If Word went ahead and executed arbitrary code, that's one thing. But as it stands, it just crashes out.

      You do understand that in many cases, a "crash" is when the software attempted to execute random garbage; and that if you tailored the garbage, you would have an arbitrary code execution vulnerability?

      A crash, frankly, is very often an incompletely exploited code execution vulnerability. That may not be so, here; but if the crash is caused by stack or heap corruption, there's a distinct chance the triggering dataset could be made into a shellcode exploit or the like.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    2. Re:Input validation by Bacon+Bits · · Score: 1

      It'd be fine if this were the final project for a 300 level programming class, or some program on SourceForge maintained by one person, or any program in an alpha or beta state (ignoring all obvious MS beta jokes).

      However, this is supposed to be commercial, top-quality, enterprise-grade software designed to be used by 90% of the business world, according to Microsoft. It should be the most well-behaved application ever.

      --
      The road to tyranny has always been paved with claims of necessity.
  10. "That's the way it was designed!" by jojoba_oil · · Score: 2, Interesting

    It seems to be a typical response from Microsoft.

    Another example I came across recently is here. What's the point of designing as such?

    1. Re:"That's the way it was designed!" by castle · · Score: 2, Insightful

      WAD is my most favored TLA for such responses, with a parenthetical 4 letter variant WA(P)D. Respectively Working As Designed and Working As (Poorly) Designed.

      Odds are with this particular component, they were on the way to reducing functionality in their core component to force you into buying a third party developed component that was actually well designed and or useful.

  11. Repeat after me by Anonymous Coward · · Score: 0, Offtopic

    War is peace.
    Freedom is slavery.
    Ignorance is strength.

    1. Re:Repeat after me by rucs_hack · · Score: 1

      and hookers that look nice from a distance are actually crusty pensioners.

      Of all the scenes in 1984 (the film, not book), that one conveyed the decay of the society more than any other methinks. I also consider it one of richard burtons finest performances, but I'm probably in a minority there.

  12. What by wumpus188 · · Score: 1, Offtopic

    Crashing means you made a mistake, bad programmer, no biscuit.

    So if your application crashes, this is my mistake as the user? ... Great attitude pal, keep it up.

    1. Re:What by Skadet · · Score: 1

      Crashing means you made a mistake, bad programmer, no biscuit.


      So if your application crashes, this is my mistake as the user? ... Great attitude pal, keep it up.
      Methinks you didn't read your quote thoroughly.
    2. Re:What by shawnce · · Score: 1

      You may want to reread his statement... the "you" refers to "programmer" not the user.

    3. Re:What by wumpus188 · · Score: 1

      Yeah.. my mistake, sorry. No biscuit :)

    4. Re:What by rwwyatt · · Score: 1

      Biscuits ?, Hell when did we get the upgrade from bananas

    5. Re:What by hey! · · Score: 3, Interesting

      Actually, in my opinion he's right.

      People act as if a crash is the worst thing in the world. Generations of programmers have been trained to think of a crash bug as the ultimate badge of shame. The problem is that it is not, by far, the ultimate mistake.

      I think it's useful to keep this in perspective. It's better that you crash the user's car than run over the user's baby. I always tell guys who work for to to place bugs in the following order of severity (1 is highest severity):

      1) user's system security is compromised.
      2) user's data is corrupted or lost.
      3) give wrong answers that aren't obvious (2 and three might be interchanged in some circumstances)
      4) crash bugs and obvious garbage output

      It's not that crash bugs are good. It's that given a choice between a crash and things higher on the list, you ought to choose the crash.

      This is not a choice that, once upon a time, we had to make. Crashes happen when a condition you hadn't anticipated happen, so they were not (as a rule) a matter of choice.

      Java checked exceptions changed that, and required that I develop clear priorities. For non-programmers, an exception is a condition (usually abnormal) that can occur some place in your program. A checked exception is one that it is mandatory to handle some place in your program, otherwise your program is not valid.

      I'm not religiously against checked exceptions, other than that they're a bad choice for default. The problem is that the places where exceptions occur are often not the right place to handle them. The temptation is to mishandle the exception, particularly exceptions that are rare, at a low level. Sometimes this is a temporary measure so you can get to some initial tests you want to do, and you never get back to undoing it. Sometimes it happens because the programmer doesn't know a good way to handle the exception, so he papers it over.

      The result is that you convert a crash bug into some other kind of bug. Often a bug that's higher on the severity list. That's why converting a checked exception into a non-checked exception is often the best course of action, even though it creates a possible crash condition later on.

      Automated testing does, or potentially can, stand in for the function of checked exceptions with less risk. Some kind of annotation that was integrated with unit testing might be ideal.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    6. Re:What by maxume · · Score: 1

      How is a biscuit an upgrade over a banana? Maybe the very best biscuit vs a really bad banana, but typical vs typical? No contest.

      --
      Nerd rage is the funniest rage.
    7. Re:What by Anonymous Coward · · Score: 0

      Crash bugs are bug-type #1 or #2 in disguise.

      In case #1, the crash is due to the computer attempting to execute gibberish. If the crash can be engineered in such a way as to cause the computer to attempt to execute malicious code, the attacker has turned your supposedly low-priority bug into a top-priority bug.

      In case #2, the application crashing causes the loss or corruption of data in another file that was open at the time. Sometimes this can turn the document that *didn't* cause the crash into a document that exhibits bug-type #3.

      Crash bugs aren't low-priority bugs, they're high-priority bugs laying in wait.

  13. To be pedantic for a moment... by AKAImBatman · · Score: 2, Informative

    DoS (Denial of Service), not DDoS (Distributed Denial of Service). There is no "distributed" in crashing these desktop apps.

    1. Re:To be pedantic for a moment... by GooberToo · · Score: 1

      There is no "distributed" in crashing these desktop apps.

      What if I'm running remote desktop while I do it? Aha! ;)

    2. Re:To be pedantic for a moment... by Anonymous Coward · · Score: 0

      You do your Slashdot username proud.

  14. Better recovery... by kebes · · Score: 3, Insightful

    However, crashing may be the lesser of the evils in many places. In the event that our apps crash, we have recovery mechanisms, ways to report the crash so we know what function had the problem, and so on.
    Okay, handling crashing properly (saving some data, logging errors, etc.) is of course nice. However even the most graceful crash is, as far as "recovery mechanisms" go, pretty bad. A proper recovery mechanism would be rather less disruptive to the user... for instance a prompt that warns the user that something bad happened and the document is being rolled back to before the last action occured. Similarly logging of errors can be done properly without crashing the entire application. A log-file is generated, and the user keeps working even though the last action didn't work, hopefully with some feedback indicating why the last action didn't work.

    I am fully aware that writing bug-free software is impossible. Ultimately, it is unavoidable that crashes will occur. When they do occur, they should be handled as gracefully as possible. However one should not defend one's code (and coding flaws) by saying that "sure it crashes--but the crashes are part of our carefully engineered recovery mechanism!" That's a lame excuse, because if you're aware of a consistent crash condition, you should be able to code so that instead of crashing, the program does something more friendly.
    1. Re:Better recovery... by Anonymous Coward · · Score: 0

      When I took over at the last place I worked, the programmers and tech support at first told me how proud they were that their Windows app NEVER crashed.

      One quick look at the main loop of the app revealed why: The main GetMessage loop was bracketed by a TRY/EXCEPT

      That meant that whenever or wherever the app crashed, it would blithely continue on, even though at that point you were usually unable to do anything more with the app. It also made getting trace info or any other kind of info about the crash impossible.

      "Nice work" I said, swearing under my breath.

    2. Re:Better recovery... by da_matta · · Score: 1

      I think the point of the post is more or less that "in situations where you don't know how to recover from errors, the best policy is to crash the application". In a situation where your object refererence is null even though it can never-ever be that, there is often no recovery. It's at least a much bigger bug to crash from accesing the object than from the exception you threw.

    3. Re:Better recovery... by ericlondaits · · Score: 1

      Giving them the dubious benefit of the doubt here:

      When writing error handling code you sometimes have nothing better option than to log the error to the best of your ability and close the program with an error. I mean cases when you make checks and some data is inconsistent (e.g. a pointer that should never be null is null, an array is shorter than it should, etc) and keeping the program running would require some guesswork and might as well result in corrupting the user data.

      Now, Microsoft has had for some time some error catching code that generically catches error conditions, reports them home and offers to reload the app. So what should a MS programmer do when some basic consistency check fails but to allow this crash report code to run?

      Not all crashes mean a stack overflow or some other exploitable error.

      --
      As a Slashdot discussion grows longer, the probability of an analogy involving cars approaches one.
    4. Re:Better recovery... by gdamore · · Score: 1

      Anyone here do kernel programming?

      A common practice in kernel programming when encountering a totally unexpected situation is to "panic". The unexpected situations where this is acceptable are often one of two classes:

      1) critical failure of a critical piece of hardware (e.g. your root disk going out to lunch), uncorrectable memory errors (but detectable), etc.

      2) programming errors. (generally "bugs".) When developing code that makes certain assumptions, its often a good idea to validate those assumptions with something called an "assertion". (For example, an assumption that a linked list is properly terminated can be checked, or that the caller owns a particular lock, etc.)

      In both cases, the response is to "crash" (or "panic").

      Why do we do this? First, we've encountered a situation from which we do not have any realistic hope of recovering... so rather than risk data corruption or worse problems later down the road, we crash, to "stop the hemorrhaging" so to speak.

      Second, this a good panic will also cause a dump of the system state to be taken, so that it can be analyzed later. In the case of hardware failure, it may give some clue as to what the bad component is that needs to be replaced. In the case of a programmer error, it often provides the details necessary to find and fix the bug.

      Its not unreasonable to believe that situations like this could come up for application programs as well.

      However, one thing that is _unacceptable_ for a kernel to do, is to crash just because a user happened to send bad input, or a network happened to spew bad data. (Errors _inside_ the chassis can cause a panic... errors from _outside_ the chassis should not.)

      I think M$ have some debugging to do...

  15. He's got half a point by Red+Flayer · · Score: 3, Interesting

    Say you have a known vulnerability in your code, which fixing would require rebuilding your app from scratch (or damn near close enough to make it too expensive to fix). Also say that you have the capability to detect an attempt to take advantage of the flaw before any damage is done, and that shutting down the app will prevent further damage.

    Wouldn't it be a good idea to shut down the app to prevent your whole network getting hosed? And doesn't the pain-in-the-assitude for the user maybe prevent them from opening shady docs the next time around?

    Admittedly, it would be best if the flaw never existed in the first place. But if fixing the flaw outright is out of the question, why isn't this a good solution?

    --
    "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    1. Re:He's got half a point by Anonymous Coward · · Score: 1, Insightful

      It's a fine solution. But call a spade a spade and say:
      "Sorry guys, but we're leaving this bug open for now because it's too hard to fix it securely."

      Do not come up with lies like:
      "This is a well-designed application and even those crashes you experience are an intentional part of our security design."

    2. Re:He's got half a point by mikelieman · · Score: 1

      If you can detect someone trying to exploit it, why not just handle the exception properly, not import the document, and not crash?

      --
      Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
    3. Re:He's got half a point by Red+Flayer · · Score: 1

      If you can detect someone trying to exploit it, why not just handle the exception properly, not import the document, and not crash?As hinted at by the MSFT spokesperson, for data collection about the exploit? Who is going to allow the app to phone home with info unless it seems like something serious is going wrong? Most users will happily allow Word to phone home with details when it crashes... plus if they let the exploit begin, they get a clearer picture of what the exploit looks like in situ.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    4. Re:He's got half a point by init100 · · Score: 1

      As hinted at by the MSFT spokesperson, for data collection about the exploit?

      If I used Word and lost a document just so that Microsoft could do some data collection, I'd think that they'd have their priorities seriously wrong.

    5. Re:He's got half a point by Red+Flayer · · Score: 1

      f I used Word and lost a document just so that Microsoft could do some data collection, I'd think that they'd have their priorities seriously wrong.
      1. Documents are recoverable (as specified in TFA). If you've had Word crash on you while working on unsaved documents, you would know this.

      2. Who ever said that Microsoft had their priorities right?
      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    6. Re:He's got half a point by Anonymous Coward · · Score: 1, Insightful

      No, he doesn't have half a point. Because:

      1) If the spokedroid said "we have a bad bug there, and fixing it will be too costly because it will slow the opening of well-formed document, so we implemented the emergency exit as a workaround before we can provied a real fix", then he may have half a point. But this is NOT what he said.

      2) Furthermore, if they can detect the issue when it occurs, then can exit nicely (putting a MsgBox, then exiting). Because, if they don't tell the user that the document he opened caused the crash, then the user will try again

      3) In any case it is a bug, and cannot be turned into a feature by the spokedroid, or the ActiveApologists

      Anyway, when the most powerful development shop on the planet, owned by the richest guy in the world pretend that a crash in the most used application ever is not important, then, there is something rotten in computer science.

    7. Re:He's got half a point by smaddox · · Score: 1

      So you are saying that they let it crash so that they can collect data about why it crashes, when they COULD just prevent it from crashing in the first place by simply calling the file corrupt and not bothering trying to open it.

      Yeah, that makes sense.*/sarcasm*

      They don't need to collect info about corrupt files. They need to collect info on crashes.

    8. Re:He's got half a point by hostyle · · Score: 1

      Poor ickle Microsoft. Imagine how much it would cost for such a lowly little startup company so low in funding to rewrite a couple of functions/classes/begorras in the MS Word API. Yeah, you're probably right - it would cost billions ...

      --
      Caesar si viveret, ad remum dareris.
    9. Re:He's got half a point by Anonymous Coward · · Score: 0

      Please allow me to edit your statement for correctness...

      1. Documents are *sometimes* recoverable (as specified in TFA). If you've had Word crash on you while working on unsaved documents, you would know this.

  16. But seriously.... by beef623 · · Score: 4, Insightful

    I can see Mr. LeBlanc's point, that it's better to crash than open up your system, but it seems like they are taking this awfully lightheartedly. They're still bugs and they still need fixed. I think they are confusing debug features with release features.

    1. Re:But seriously.... by ivan256 · · Score: 1

      I'd like to see the actual code that is forcing the crash. I'd say there's a 50/50 chance that they're hitting an assert. The other 50% is that they're completely full of crap, and they got lucky that this causes a crash instead of an exploit.

    2. Re:But seriously.... by cyber-vandal · · Score: 1

      Sadly his attitude is common to many IT departments.

    3. Re:But seriously.... by PPH · · Score: 1
      "Open up your system"? Its a pretty poorly designed system that allows a rogue application to do damage to itself. Sorry. I forgot who's apps we were talking about for a second.

      "Crashing", being defined as an application shutting down unexpectedly with no logs or messages to indicate why, is a sign of lazy programming. It means that insufficient exception handling was incorporated. I don't have a problem with an app. just popping up a message stating that the data was corrupt (better yet, approximately how and where) and that further progress is impossible. Heck, even a core file, or a cryptic 'report the following message to tech support' is better then nothing. Better error handling would confine the effect to the corrupted object. Think of what happens when one 'bad' document can cause the entire Word app. to shut down taking several other perfectly good documents with it.

      --
      Have gnu, will travel.
    4. Re:But seriously.... by Jorgandar · · Score: 0

      And lets not forget what it means to be a feature, being something that is externally observable AND devliers a result of value to the customer. Therefore, crashing is not a feature.

    5. Re:But seriously.... by BeerCat · · Score: 1

      it seems like they are taking this awfully lightheartedly. They're still bugs and they still need fixed.

      Nothing new from MS, then. When the first Word macro virus (Concept) was invented (by a MS employee who had realised that allowing a data format to have embedded executable code was a bad idea, and set out to prove to the sceptics within Redmond why it was so bad), everyone except MS called it a "Macro virus" (because that's what it was). MS called it a "prank macro"
      --
      "She's furniture with a pulse"
    6. Re:But seriously.... by I'm+Don+Giovanni · · Score: 1

      He's not taking it "lightheartedly" at all. He says, "I have written many times and in many places, JUST FIX THE !$@%@^* BUGS!!! If it does NOT crash, then there's no need to lose sleep over whether it is exploitable or not. Solid code tends to be secure code." But sometimes it's not possible to fix the bug (due to time constraints, legacy code structure, etc), so it's better to throw an exception and crash. Microsoft supplies SPs to Office, and those do have bug fixes (not just security fixes, but general bugs like this one).

      --
      -- "I never gave these stories much credence." - HAL 9000
    7. Re:But seriously.... by beef623 · · Score: 1

      I just meant that they were trying to pass them off as a good thing. They're bugs, call them bugs and fix them, don't pretend they're a good thing.

      It seems like Microsoft is getting a little more lax than usual about what they let slip out the door. Maybe I just notice it more now that I work in IT...

  17. we've heard this before by Anonymous Coward · · Score: 0

    If one's idea of a Feature is something that makes money for the seller of the software, that's one thing. If a Feature is something the buyer wants, or thinks is being paid for, then this is something else, for which coarse language becomes more descriptive.

  18. Re:fuzzer by Technician · · Score: 1

    Umm RTFM, I mean article

    Would any bright egg here care to explain what the hell a 'fuzzer' is?

    For those who didn't read the article and want to know what a fuzzer is;

    "Aharoni said he found the flaws using a "fuzzer," a tool that probes an application for vulnerabilities by sending random input"

    Snipped from the article.

    Somehow clipping a line from the article doesn't make me feel light a bright egg.

    --
    The truth shall set you free!
  19. Word is a bug by dbfruth · · Score: 2, Insightful

    Damn. I thought the whole Word app was a giant bug. Turns out it is a feature that they can charge a lot of money for. It was confusing me since it only seemed useful if you wanted to butcher a document.

    1. Re:Word is a bug by Jesus_666 · · Score: 1

      If you think Word horribly butchers documents you haven't yet seen what Powerpoint does to informations...

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  20. How Long Before... by Evil+W1zard · · Score: 2, Informative

    Ok so 2 of the 3 bugs result in a DoS type situation and the third could allow for execution of arbitrary code... Using a Fuzzer dont you typically find DoS/Reboot/Crashes first and then more research to include debugging can show where in memory the crash occurs and then you move into the world of tailoring an overflow and allowing for execution of arbitrary code...

    To me DoS'ing a client-side app like Word is an annoyance, but I would expect to see exploit code coming that does do code execution or privilege escalation of some sort and then MS will patch it on Tuesday just like they've been doing for years...

    --
    News Reporters Make Tasty Polar Bear Treats!
  21. To be even more pedantic for a moment... by poopdeville · · Score: 2, Insightful

    Unless you distribute a Word document exploiting the bug by email, for instance.

    --
    After all, I am strangely colored.
    1. Re:To be even more pedantic for a moment... by ShieldW0lf · · Score: 1

      Or hack a corporate internet application that generates such documents and distributes them so it distributes malformed documents across an enterprise.

      Or write a worm that modifies all word documents it finds in this fashion then cleanly uninstalls itself after it's propagated to another machine.

      Etc.

      --
      -1 Uncomfortable Truth
    2. Re:To be even more pedantic for a moment... by ShieldW0lf · · Score: 1

      Exploit a XSS attack on a major website, to exploit a major browser and force it to auto-launch a downloaded document, forcing a reboot of the machine?

      --
      -1 Uncomfortable Truth
    3. Re:To be even more pedantic for a moment... by Anonymous Coward · · Score: 0

      Not really. The "distributed" in "distributed denial of service" refers to distributed computing, where many computers are used to solve a single problem. A distributed denial of service is when many computers are used to attack a concentrated target, like a botnet inundating a specific company's web servers. Usually the attackers outnumber the defenders by at least an order of magnitude.

      If a denial of service attack does not rely on strength of numbers, it isn't a distributed denial of service attack, even if it is propagated (i.e. "distributed") online.

    4. Re:To be even more pedantic for a moment... by Anonymous Coward · · Score: 0

      Jesus, Aspie, get a clue.

  22. But, But... by ColdWetDog · · Score: 4, Funny

    Aharoni said he found the flaws using a "fuzzer," a tool that probes an application for vulnerabilities by sending random input. Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted.
    Emphasis mine.

    OK, gotcha, but how do you differentiate this from normal Windows behavior?

    --
    Faster! Faster! Faster would be better!
    1. Re:But, But... by camperdave · · Score: 4, Funny

      Because in normal Windows behaviour, the odds would be three out of three.

      --
      When our name is on the back of your car, we're behind you all the way!
    2. Re:But, But... by tomz16 · · Score: 1

      Funny, but an earlier version of firefox caused a similar condition on my IBM x40. Browser would randomly freeze, peg cpu at 100, and remain completely impossible to close or change priority. After a few minutes of this, it would take explorer down with it, and the only way to restore order would be a reboot. Hasn't happened since I upgraded to a newest version.

      Powerpoint 2003 (w/ servicepack) on one particular desktop I use has an even more interesting problem. Nudging (ctrl-arrow) a high res image in the same direction repeatedly will completely foobar the system. Even the mouse stops responding. In every other respect the system is rock stable.

    3. Re:But, But... by EqualOrLesserValue · · Score: 0
      I think the difference here is about patterns.

      Mozilla accepts that errors can occur and doesn't deny their existence or try to encourage belief these flaws are "not bugs, but features."

      --
      The trouble with Karma is: it always gets worse.
    4. Re:But, But... by Anonymous Coward · · Score: 0

      I was expecting 3 out of 2

    5. Re:But, But... by Jesus_666 · · Score: 1

      Actually, given the average computer user, random inpit is normal usage, so there's no need to differentiate...

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  23. My Favorite... by mkw87 · · Score: 0, Offtopic
    My favorite "feature" occurs when I'm trying to work on a pre-2007 word file from my USB Thumb drive. Occasionally a perfectly fine file will delete itself when I try to save it. I open it from the thumb drive, make a few changes, CTRL+S to save, and it says it has a write error, even though the file is not read only, etc. It then proceeds to crash, and DELETE THE FILE.

    Now, take the same file (or entire working folder), copy it to a local drive, and it edits and saves just fine. I haven't figured it out yet, probably never will. Luckily every time this has happened to me it's been a group project file and I regularly give my group members backup copies for their own edits, etc.

    --
    Arguing with an engineer is like wrestling a pig in mud. Soon, you realize the pig is dirty, and he likes it.
  24. Error by wumpus188 · · Score: 1

    The operation completed successfully.

  25. explosive code? by Ajehals · · Score: 4, Insightful

    From the linked blog...

    1) Your code blew up, and you're about to get 0wn3d. Yup, it's exploitable, and the customers are not going to be happy.
    2) Your code blew up, and maybe it is exploitable, maybe not.
    3) Your code blew up, and you meant it to blow up, and it's clearly not exploitable.

    Since you are not coding specifically for your application to crash (Or I hope not) surely there can be no 3. 2 is as good as it gets, you have done everything you can to prevent your code "blowing up" you have tried to handle anything that can be thrown at it gracefully, and you have done everything to ensure that when if and when things do go wrong they can do no damage, that's 2, not 3. If you cannot foresee and prevent every possible thing that could cause your application to crash (which you can't), then how can you foresee every possible way in which that unforeseeable crash could be exploited. All you can ever do is your best.

    Next up, from the article:

    Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted. The third, Aharoni suggested, could be used to introduce remote attack code after an exploit causes an overflow of "wwlib.dll," a crucial Word library. But "code execution is not trivial," he added.

    If described correctly then these bugs all pose a risk. sure the first two are minor risks, the later is major, but all three are bugs that should be listed as security vulnerabilities. I would suggest that the reason that they are currently not being seen as such by Microsoft, is simply that no one can be sure if the conditions required to trigger them could be utilised by anyone wishing to take advantage of them, and thus they are theoretically less threatening than many of the other issues that have plagued Microsoft Applications in the past.

    In the end however we should be simply sating that a problem exists, it may be a security risk, and until it is fixed, we will treat it as such. Anything else (rightly or wrongly) simply smells like someone is covering up issues, and lets be frank, Microsoft doesn't have enough good will for that to be acceptable.

    1. Re:explosive code? by Anonymous Coward · · Score: 0

      One time I had a buffer overflow in one of my apps. The overflow went straight off the end of the buffer into unmapped memory. That's right: the end of the buffer is the highest mapped memory address in my program. So my code blew up, I didn't mean it to blow up, and it is clearly not exploitable.

    2. Re:explosive code? by PCM2 · · Score: 2

      3) Your code blew up, and you meant it to blow up, and it's clearly not exploitable.

      Since you are not coding specifically for your application to crash (Or I hope not) surely there can be no 3. 2 is as good as it gets

      But isn't this the whole point of the exception-handling model of software error recovery? Back in the old days, any bug could potentially take down the whole system, only it didn't matter because the OS wasn't multitasking anyway. Under the exception-handling model, an unforeseen condition generates an exception. You've got two choices: Handle it or don't. If an application exception makes it all the way to the OS level without being handled, it results in an application crash. What it doesn't do, on the other hand, is take down the system (assuming everything else is working right). So while it might be sloppy programming to say to yourself, "this exception will almost certainly never, ever get raised, so I'm just not going to handle it," it seems to me like that would be a legit case of #3, above. If the only possible outcome of a condition is an application crash, then it doesn't seem like an exploitable flaw to me. (But then, I guess it goes back again to whether you agree that an application crash counts as a denial of service. I tend to think not.)

      --
      Breakfast served all day!
    3. Re:explosive code? by drinkypoo · · Score: 2, Interesting

      But isn't this the whole point of the exception-handling model of software error recovery?

      There's a reason we call it a crash (or an abend.) It's because we weren't expecting it. We're not talking about a demolition derby here.

      If an exception causes the program to quit safely, it's not a crash, it's an expected termination.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:explosive code? by Ajehals · · Score: 1

      All true, I guess what I am trying to say is that you cannot judge the impact of a crash simply by the effect you would expect it to have. In the case of a non server application such as a word processor the impact of a crash would be loss of productivity, not a security vulnerability as such, unless it can be triggered remotely, or by another application running on the same machine (becomes academic at this point as there is a lot worse you could do.)

      with a complex application you should be in a position to say that every precaution to prevent a crash from exposing data or allowing arbitrary execution, but you cannot guarantee that. (well you can its just extremely extremely unlikely, and you would need to be in control of the environment in which the code is run as well) If you are in the position of being able to determine every possible scenario, then you should (realistically) be in a position to handle every scenario in a graceful manner, that would after all be the neatest way to go.

      The DoS point really does only come into play if it is a server type application, or it is something that can be caused remotely and repeatedly. I would stand by the fact however that the scenario presented in the article would suggest a security vulnerability. I would also suggest that when looking at application crashed, there can be no such thing as a guaranteed outcome in every scenario, and in every environment.

      Then again, what do I know, I only ever write in C, and even then it tends to be relatively simple client server applications. Even then I wouldnt characterise myself as above average skill wise. Maybe my view is slanted by my own perceived shortcomings.

    5. Re:explosive code? by steelfood · · Score: 1


      3) Your code blew up, and you meant it to blow up, and it's clearly not exploitable.


      Since you are not coding specifically for your application to crash (Or I hope not) surely there can be no 3.


      What happens when you know that an error has occurred, but you don't know why? You know something bad has happened, but what it is exactly is beyond you. Maybe you didn't forsee that a certain exception would get thrown in a particular block of code. Perhaps you added some code or started calling something existing already that threw a new exception. It could be something that until you've actually seen it happen, you wouldn't even imagine that it was possible, much less know how to compensate for it.

      Yes, that's poor design. But complex, multi-threaded programs are rarely cut and dry--especially those the size of MS Word. And it's always good to have a catch all at the very bottom of complex try blocks. Perhaps these crashes were the result of the app hitting that last resort.

      Yeah, the guy shouldn't have blew the security researchers off. Comments like that, while are realistic, are terrible for PR. What the MS rep should have said was that they were looking into it, but that because the app is crashing, it's a low security risk and there's no need for alarm. Something to that effect. A comment to the effect of it not being a bug or it being a part of the design, is flaimbait.
      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    6. Re:explosive code? by shutdown+-p+now · · Score: 1

      Depends on what causes the exception. When something like std::bad_alloc (or OutOfMemoryException etc) is thrown, there's really not much you can do apart from giving an error message in hope that there are enough resources for that at least, and terminate as gracefully as possible (RAII helps a lot there). But this is absolutely not an acceptible behaviour on any kind of external input, no matter how malformed it is. No good programmer would ever write code which assumes that byte X is always followed by byte Y, or that, if the record_count field just read has value N, it will be possible to do N successful calls to fread(sizeof(N)). You always check, and always try to recover if possible, and reverse the process if not. The latter can be done with an exception, but there's no reason to let it propagate to the OS - malformed input is not an OS problem, it simply does not belong there.

  26. Please quit calling these DOS flaws by NotFamous · · Score: 1

    I hated when they used the term DOS for the Mozilla crashes, I hate when the use it for Microsoft desktop applications. Just say you found a way to crash the program. Woo hoo! It doesn't sound as serious as DOS, but it is more accurate. Leave DOS for server attacks that clog a network, or prevent a server from being accessed. But entering in Chinese unicode characters into a shareware text editor that causes it to crash is not a DOS attack. PUH-lease!

    --
    Some settling may occur during posting.
    1. Re:Please quit calling these DOS flaws by SirTalon42 · · Score: 1

      You mean pegging the CPU to 100% and forcing the system to be rebooted IS NOT a Denial of Service attack? These are definitely DoS attacks.

    2. Re:Please quit calling these DOS flaws by slackmaster2000 · · Score: 1

      Unfortunately, the term Denial of Service is extremely vague and broad. Basically to the point of being useless.

      http://www.cert.org/tech_tips/denial_of_service.ht ml

      As far as I can tell, I'm technically committing a DoS attack if I steal your keyboard.

      I think that most people reserve it for attacks against shared resources, or at least require that some abstract resource (such as disk space or bandwidth) is consumed. Otherwise, anything that I do to disrupt you from doing anything with your computer is a denial of service.

    3. Re:Please quit calling these DOS flaws by Sigma+7 · · Score: 1

      You mean pegging the CPU to 100% and forcing the system to be rebooted IS NOT a Denial of Service attack? These are definitely DoS attacks.


      You can press CTRL-ALT-DEL. You can then kill any application(s) pegging the CPU at 100%.

      There's also preventative measures you can take to prevent this issue - keeping task manager open at all times (although disable "Always on top"), having a multi-core processor, setting certain "critical" processes such as Explorer to a higher than normal priority, etc.

    4. Re:Please quit calling these DOS flaws by LibertarianWackJob · · Score: 1

      pegging the CPU to 100%

      I thought that was a VISTA feature?
      --
      What? ®
  27. Firefox crashes on malformed intput too by 140Mandak262Jamuna · · Score: 3, Insightful

    Almost all the programs crash on invalid input, even Firefox and OpenOffice. So, hate to say it, MSFT is right in claiming that it is better to crash than to give a command line shell. But so many of the MSFT buffer overrun problems start out as crashes and people keep probing and probing and bingo, it becomes a remote code execution flaw. I thing the Windows Meta File graphics handling bug was a low priority crash bug for a long time before it became a remote code execution vulnerability. So while porturing it as "not a bug", hope they quietly work in the background and fix the issue.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Firefox crashes on malformed intput too by Anonymous Coward · · Score: 0

      Finally, someone who realizes that any software program can act like this. I agree with most people on slashdot that Microsoft should fix the root problem regardless if it is exploitable or not. However, its possible that Word does sanity checks and found itself in an unrecoverable state and the safest thing to do is terminate in that case. In order for a program to handle EVERY execution path and recover is very difficult. For small programs, this can be easy to map out. For large pieces of software like Word, it is not so easy. What if they had a bug in the cleanup code? That could result in a more serious bug or possibly a security vulnerability!

      Most people are arguing that the user should be prompted. This is great for usability, but its rare that usability and security actually go together. Windows is insecure in part because users want it to be. Think about all the cancel/allow vista jokes. Everyone said Microsoft make sudo type authentication. They couldn't go that far, and so they come up with half baked approach which is better than nothing. Now people are mad because of less usability. Consider why many don't use OpenBSD. It is "too secure" by default for a desktop.

      Sometimes you can recover from a crash and sometimes you can't. In the real world, it is possible to design, develop and test a very secure, reliable piece of software. It takes a very long time to do so. What if there was a ten year gap between Word 2007 and the next release? Microsoft would lose their place in that segment. Sure they may ship something super reliable, but users don't want that. We are part of the problem too.

      People expect unfair things from Microsoft. They are just a company. Lets see the demanded design and QA go into the Linux kernel. Large portions of the Linux kernel are quite good but consider all the little patches that go in to new releases and all the little regression messages we see in the change logs. Everybody has these problems.

      I just wish security researchers would go over more open source software. Popular stuff like Firefox gets audited, but researchers are just out for attention and jobs these days. They don't care about making a difference.

    2. Re:Firefox crashes on malformed intput too by asninn · · Score: 1

      Wait, wait, wait - let me see if I understood that right. Firefox and OpenOffice crash on (some) invalid input, therefore MS is right when they say that a crash is better than to drop the user to the shell.

      Err, what?

      I'll accept the premise that Firefox and OpenOffice do indeed crash as true based on my personal experience with both, but I have NO idea how your conclusion would follow, or why you'd even think it does. Seriously, you could just as well claim "the sky is blue, therefore..."; it'd make about as much sense.

      FWIW, I'm absolutely not convinced that crashing is better than exiting gracefully, either, and I'm ALSO not convinced that it's even necessary to exit gracefully when you can just inform the user and CONTINUE gracefully, but that's just a side issue.

      --
      butter the donkey
    3. Re:Firefox crashes on malformed intput too by 140Mandak262Jamuna · · Score: 1
      They could have easily exited gracefully by eating the exception, not showing you a dialog box and exiting quietly. You knew there was a crash only because as part of their "graceful exit" they told you that they are crashing.

      It would be nice if they have a strong validator for input and pinpoint errors. But if you detect that the memory has been corrupted you must exit immediately. Attempting to figure why the memory was corrupt would lead to more bugs and exploitable holes.

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    4. Re:Firefox crashes on malformed intput too by IchBinEinPenguin · · Score: 1

      Almost all the programs crash on invalid input

      THIS is why I despise the low-quality junk that's being released as 'software' these days.
      It trains users to expect crashes, misbehaviour, random corruption and god knows what else.

      Rule #1 in programming, don't trust the input data until you've validated it.
      Rule #2 is _never_ trust input data, especially from users, until you've validated it.
      Rule #3 is _always_ validate your input data.

      This is not rocket science, this is basic defensive programming.

      "aborting" on bad input data, hopefully with a nice message about what's bad, is fine.
      "crashing" on bad input data is unacceptable.
      gcc doesn't crash every time you misplace a semicolon in a source file, it just tells you about it and aborts.
      Why can't Word do the same?

    5. Re:Firefox crashes on malformed intput too by toriver · · Score: 1

      Almost all the programs crash on invalid input ... because the programmers are FOOLS who haven't learned the rules of user input: you cannot trust the input implicitly, you cannot expect users to have read the design document and act according to the use cases, you cannot expect the users to be as rational as computers, and you cannot expect users to be well-behaved.

      If one of my web-based administrative applications decided to throw a 500 Internal Server Error in the user's face if they wrote a to-date that was before the from-date (instead of redisplaying the form with an understandable error message), I would be out of a job. I guess people working on open-source software don't have an employer for the project that can fire them, but why do Microsoft employees get off the hook for sloppy coding? Maybe they don't and Microsoft needs to get a steady stream of fresh developers who have no chance to fix the mess...

      If I copy a huge binary dump into the clipboard and try to paste it into Word, Word should check the clipboard contents type and size before proceeding. Anything else is plain lazy.

      Remember the "begin" crash bug in Outlook Express? Where the programmer just assumed that a line starting with the perfectly normal English word was the beginning og encoded data? Same degree of sloppyness.

  28. Ignorance by Bill,+Shooter+of+Bul · · Score: 1

    Ignorance breaks the symmetry of your argument, It should be :

    Ignorance is knowledge

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
    1. Re:Ignorance by pablo.cl · · Score: 1

      Say that to George Orwell, who invented the sentence.

    2. Re:Ignorance by Anonymous Coward · · Score: 0
      Say that to George Orwell, who invented the sentence.


      Orwell would spin in his grave, if he was alive.

    3. Re:Ignorance by Anonymous Coward · · Score: 0

      Say that to George Orwell, who invented the sentence.

      I'm pretty sure we had sentences before Orwell came along.
    4. Re:Ignorance by Bill,+Shooter+of+Bul · · Score: 1

      That's always annoyed me actually. And also why I invented quotes to insert in my essays in high school. People pay way too much attention to who says something that sounds profound. If the dali llama says something that is crazy and obviously wrong, people will still quote it and use it in an argument because he said it.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
  29. Secondary failsafes by ZorbaTHut · · Score: 1

    It's not actually that unreasonable. In my code I do my best to detect invalid input and fail gracefully if possible, but if there's something I haven't thought of I have checks deeper inside that end up cleanly crashing the program if something really unexpected occurs. The fact that it gets past the first checks, and has to crash, is a bug. The fact that it crashes may very well be designed behavior, though, and far better than the alternative.

    Of course, their public statement is stupid. What they should be saying is "yes, you have found a bug, the crash is a safe error handling system designed to prevent any security holes, there is nothing to worry about with this bug besides annoyance but we're working on a patch."

    --
    Breaking Into the Industry - A development log about starting a game studio.
  30. No Biscut!!! by The+Media+Mechanic · · Score: 0

    WAAAHHH !!! I LIVE FOR BISCUTS!!! Doesn't he know that biscut's are a programmers lifeblood and he will wither and die without a steady supply !

    --
    I can throw as many stones as I wish; my house is made of transparent aluminum.
  31. OOPS, I ripped my pants! by Anonymous Coward · · Score: 1, Insightful

    Has anyone seen the Spongebob episode where he keeps everyone laughing by ripping his pants on purpose?

    (Think about it, it's not offtopic.)

    1. Re:OOPS, I ripped my pants! by celkin · · Score: 0

      Yes, you have a point. You should be modded to "wumbo."

      --
      "Oh c'mon, I wumbo, you wumbo, he/she/me...wumbo, wumboed, womboing...wombology? The study of wumbo? It's first grade,
  32. Upon additional consultation... by Chris+Mattern · · Score: 3, Funny

    Microsoft declared that they are not crashes at all; they are "rest breaks".

    Chris mattern

    1. Re:Upon additional consultation... by TheGratefulNet · · Score: 1

      is that like a flickr (photo hosting site) 'massage' ?

      (flicker is often offline claiming it needs a back rub. not sure why a server farm needs such things, but who am I to question the great yahoo.com ...)

      --

      --
      "It is now safe to switch off your computer."
  33. Programmer as a dog by The+Media+Mechanic · · Score: 1, Insightful

    according to this guy, you train a programmer as if it were a dog. You punish it by yanking on the leash, when they make too many bugs. You reward it by giving it a biscut when it does something good, like write an amazing piece of software with crappy design documents as input.

    Do managers really think this way ? Are we looked upon as professionals ? Or merely some kind of, easily trained, excitable, bark at the mailman, get lonely when the master leaves us alone and doesn't play fetch with us, peculiar species of mammal ?

    --
    I can throw as many stones as I wish; my house is made of transparent aluminum.
    1. Re:Programmer as a dog by Macthorpe · · Score: 1

      Wow, that's a hell of a lot of bullshit to pull out of a throwaway comment.

      --
      "It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
    2. Re:Programmer as a dog by Anonymous Coward · · Score: 0

      Get back to work, you.

    3. Re:Programmer as a dog by Epiphenomenon · · Score: 1

      "bad dog, no biscuit" is a Gary Larson cartoon

    4. Re:Programmer as a dog by jbengt · · Score: 1

      The better educated managers not only use positive reinforcement ("good job Codie, here's a donut"), and punishment ("bad job Codie, stay all night till you fix it"), but also negative reinforcement ("that Codie is doing better, I'm going to quit yelling at him") and extinction ("Codie never submits any useful patches, let's ignore him")
      http://www.mcli.dist.maricopa.edu/proj/nru/opcond. html/
      Really, it won't be that blatant, and they might not even realize it, but they'll treat you that way.

  34. We work on data driven apps (police RMS) by stratjakt · · Score: 1, Interesting

    Where a high (100%) level of consistency is absolutely required.

    Basically, the default behavior on any exception is to crash, and roll back any open transactions. There's just no way to recover from something unexpected, and still be able to guarantee that the next commit to the DB isn't going to fuck something up.

    I have described this behaviour as intentional, and have played it off as a feature - directly comparing it to a competitors product, which took an "ignore error, keep on truckin'" approach. They fired the first shot by finding a bug that made our app crash, and claimed the crashing meant it was buggy. Meanwhile, no crashes on their side means no bugs.

    So I showed how I could exploit a bug to start corrupting records, and even found a way to do it willfully (ie; change your parking ticket into a warrant for forced sodomy).

    Of course, we treat every crash as a bug - but the fact that it crashes (after writing out as much relevant info as possible into a .log file) is a feature in itself.

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:We work on data driven apps (police RMS) by DaleGlass · · Score: 2, Insightful

      I think your sort of crash is an intentional abort.

      There's a BIG difference between an application writing junk to memory and crashing somewhere in malloc because things are completely hosed, and an application deciding data makes no sense and orderly aborting the operation.

      Your program seems to do the second one, which is good. It's perfectly appropiate for the program to quit if it's for example a commandline program for batch processing. Were it a GUI program you'd stop processing, produce an error, and let the user retry or whatever. You could do that because your program is still working and in a sane state.

      The Word crash isn't that, the application fails completely with an access violation. If you were running it under an IDE you'd be looking at the debugger and a stack trace. MS Word couldn't continue in this situation because at this point the state is corrupt -- there's no hope of recovering from it.

    2. Re:We work on data driven apps (police RMS) by I'm+Don+Giovanni · · Score: 2, Informative

      According to the article, the crash in question is a result of Word using the SafeIntOnOverflow() function to deal with integer-overflow. That function throws an exception on integer overflow. That the function is being used in the code is evidence that the code is indeed checking the validity of an integer. But apparently there's no good way to recover from that situation, so they don't bother to catch the thrown exception and let it crash. Seems good to me. The only reason there was integer-overflow in the first place is that some researcher was running the app in a debugger and feeding it random data.

      Now, someone could intentionally create a corrupt document that causes integer-overflow, which would cause the exception and crash, but real documents won't cause that behavior (notwithstanding other possible bugs).

      --
      -- "I never gave these stories much credence." - HAL 9000
    3. Re:We work on data driven apps (police RMS) by azrider · · Score: 1
      Not to nit-pick (but damn, I enjoy nit-picking...)

      Basically, the default behavior on any exception is to crash, and roll back any open transactions.
      I certainly hope that this is not a CAD(Computed Aided Dispatch) - not CAD (Computer Aided Design) system. Otherwise, the 10 year old reporting their mother's heart attack just got ignored.

      There's just no way to recover from something unexpected, and still be able to guarantee that the next commit to the DB isn't going to fuck something up.
      If you assume that each event is a transaction (event meaning a discrete communication), the rollback is appropriate. If in the real world you (correctly?) assume that each communication (Janie calls 911/911 op calls FD/911 op dispatches ambulance) is a separate transation, a rollback does not result in a significant compromise of service. Therefore, a crash restart (if the restart is restricted to the thread handling this transaction is not a bad thing. If said crash restart not only rolls back the FD call, but also rolls back the initial call for the heart attack victim at the shopping center that was received at the same time, this could easily be a Bad Thing(tm). If the current MSW2007 bug *only* affects the current document (~.7 out of 3 in the referenced report) that is one thing. If it affects the entire space (as opposed to the individual instance - I have had more than 5 documents open at one time to do cut and paste), this is more than a fail-safe.

      I have described this behaviour as intentional, and have played it off as a feature
      The way you phrased this says (at least to me) that upstream validation of incoming data from a (possibly) random source is *not* your problem. If the data fits in the field it goes. From where I sit, (Incident Response|Emergency Response|Disaster Management) systems must not drop any information which did not contribute to the failure of the system. If the system chokes on data from *one* transaction (Bobby called to say he is on the sidewalk watching for the responders), the system must be designed to treat that as a single transaction, rather than rolling back any and all transactions/events that occurred within an arbitrary timeframe.
      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
  35. Lesser of two evils is still evil. by kinglink · · Score: 1

    Seriously, the recovery system they are mentioning is good.... FOR TESTING! Real software shouldn't crash, if it does crash it better be because of hardware failure because software shouldn't do so much that crashing is an option. That's theory of course but it's a possible and working theory in most cases.

    Buffer overflows? Create and use a SAFE version of functions... Like.. I don't know? Try snprintf with only the output buffer's size?

    Buffer overflows are the fault of the programmer and there should be no excuse. Telling the system to crash instead of overflowing is a fix, but it's neither a good fix or a feature. It's a BUG that has been paved over by paper. Until you come back with concrete it's not really fixed.

    Let's switch it around. If my game company submits a game to the Microsoft certification process which crashes, and we gave this excuse we'd be rejected in 2 seconds. Why is in-house Microsoft products gets a pass on this matter?

    1. Re:Lesser of two evils is still evil. by Sigma+7 · · Score: 1

      Buffer overflows? Create and use a SAFE version of functions... Like.. I don't know? Try snprintf with only the output buffer's size?


      Writing your own version will simply cause duplication of existing functions. However, you can't really use the existing functions unless they are known to be ratified in at least one known standard.

      In particular, I am referring to "safe" versions of sprintf, strcpy, strlen, strcat, sscanf, and other string manipulation functions. There's also a secondary issue with fopen(), which uses a dual-purpose return value (with more detailes in a global variable not guarenteed to be thread-safe) instead of splitting the error from the actual pointer.

      Unless security issues are addressed in a known standard (and I'm having difficulty confirming which variant functions are ratified), I'm writing Windows-only code without even knowing.
    2. Re:Lesser of two evils is still evil. by kinglink · · Score: 1

      When I say create safe versions. I'm talking about figuring out something simple like writing a wrapper around snprint where no matter what the last character becomes '/0'. If this causes issues for your code then it causes issues with your code. It might truncate your last character from something. If that's the case increase the n in snprintf and increase the size of your array. However this version changes the snprintf from the "hopefully we don't enter n as buffer size" to "Well Hopefully all the data gets there". Aka it works it just doesn't work well.

      Next step is to look at the return value and continue from there. I'm not saying to duplicate functions but if a function has an unsafe feature that you can figure out (I'm sure Microsoft found all these unsafe functions just hasn't had time to fix the code they are called in. At least that's what they say every time they reference the millions of lines of code they have) then you can quickly switch every call from snprintf to snprintf_safe where now at least it won't buffer overflow.

      These safe functions should do all the error checking you need in it. Hell there's about a million otherways to solve these problems but the fact is someone has to do it and Microsoft needs to learn that they should take time to do it. It's a reason I don't use Microsoft products because they have these buffer overflow problems that should be easier to fix then "we can't" implies.

    3. Re:Lesser of two evils is still evil. by Sigma+7 · · Score: 1

      When I say create safe versions. I'm talking about figuring out something simple like writing a wrapper around snprint where no matter what the last character becomes '/0'.


      That is the exact thing you want to avoid in programming - you do not want to reimplement what should be standard in each individual program. I've performed this procedure with itoa() since it wasn't implemented on Linux, with almost no concern of finding the best algorithm to do so. The direct result of this is that I'm using an unoptimized library function many times - which will impact performance on Programming contests.

      quickly switch every call from snprintf to snprintf_safe where now at least it won't buffer overflow.


      Refactoring isn't that simple, unless both functions have the same parameter list (in which case, you aren't likely going to get benefit from your wrapper.)

      These safe functions should do all the error checking you need in it. Hell there's about a million otherways to solve these problems but the fact is someone has to do it and Microsoft needs to learn that they should take time to do it. It's a reason I don't use Microsoft products because they have these buffer overflow problems that should be easier to fix then "we can't" implies.


      Safe functions will not protect against this kind of error. As you can check from the vulnerability information on wwlib.dll and Microsoft KB926955, it is not a buffer overflow. It is a boundry violation, which means the program attempts to access memory resources that it does not have access to - where there is no standard procedure in C or C++ to prevent such crashes. This is substandard compared to Basic's "ON ERROR RESUME NEXT" ability to handle things (i.e. handle errors inline or proceed as if nothing happened, whichever is better.)

      When dealing with pointers, you only know one thing - whether or not it is NULL. If it isn't null, the best you can do without a major performance loss is to step into the minefield.

  36. Insightful?! by Ahnteis · · Score: 1, Insightful

    Come on mods. Funny? Yes! Insightful? Not even close.

    We all get it--Linux is better; Windows is for Losers; OSX is pretty but someone else with money can buy it.

    Many people use Windows daily without the problems that caused you such trauma that you continue to rant about it daily. Get over it.

    Don't like Windows for idealogical reasons? Fine.
    Don't like it from a security standpoint? Fine.
    Don't like it because it looks ugly and stole your candy? Fine.

    But it's impossible to take you seriously when you employ the *same tactics* of FUD that you like to claim every single time Microsoft says anything.

    1. Re:Insightful?! by WhyDoYouWantToKnow · · Score: 2, Funny

      But it's impossible to take you seriously when you employ the *same tactics* of FUD that you like to claim every single time Microsoft says anything.

      You REALLY must be new here if you expect anyone on /. to come up with new and original arguments for why Microsoft sucks.

      --
      "Oh drat these computers, they're so naughty and so complex. I could pinch them."
      Marvin the Martian
    2. Re:Insightful?! by Anonymous Coward · · Score: 1, Funny

      I can come up with new reasons why Microsoft sucks........

      because their OS won't let me play all the cool games I can play under Linux ..... uh..... no

      Oh, I know
      because I can't just walk into a store and pick up a piece of software to do what I want, take it home and run it like i can with linux..... oh.... scratch that

      Yeah, I got it, its because ..........screw it... nevermind

    3. Re:Insightful?! by WhyDoYouWantToKnow · · Score: 1

      Good try, here's your biscuit.

      --
      "Oh drat these computers, they're so naughty and so complex. I could pinch them."
      Marvin the Martian
    4. Re:Insightful?! by Anonymous Coward · · Score: 1, Interesting

      "OSX is pretty but someone else with money can buy it."

      Really? I was looking for a small, fanless mini-itx box the other day for a special purpose. I found this at $525 but still had to get memory, HD, and CD-ROM for it. I'm sure there is cheaper but hard to find the foot-print size.

      Then it dawned on me that a Mac Mini is that size. Quiet and with more CPU, a HD, memory and a CD/DVD for less money. But, yeah, the Macbook Pro and G5s are more expensive than a cheap, plastic PC.

    5. Re:Insightful?! by Anonymous Coward · · Score: 0, Insightful

      See, that is the disconnect between many OSS users and many of you Windows users. Those "features" you mention are important to you. So, therefore, they are important to everybody, right?

      But you fail to think that someone may not care about that. What if you don't play games (*gasp*)? What if you don't want to use the software from the stores? Hum?

    6. Re:Insightful?! by digitig · · Score: 1

      You REALLY must be new here if you expect anyone on /. to come up with new and original arguments for why Microsoft sucks.

      Well, of course we can't do that. But there are plenty of folks here who will point out whenever Microsoft comes up with new and original arguments for why Microsoft sucks.

      And, to be fair, folks here don't hesitate to do the same to Linux distros, and Apple hardly escapes criticism, but it only seems to be when it's Microsoft being criticised that folks complain of bias.

      --
      Quidnam Latine loqui modo coepi?
    7. Re:Insightful?! by WhyDoYouWantToKnow · · Score: 1

      Look you. I don't know where this rational line of thinking is coming from but it needs to stop. Don't you know that around here we require clearly defined areas of doubt and uncertainty.

      --
      "Oh drat these computers, they're so naughty and so complex. I could pinch them."
      Marvin the Martian
    8. Re:Insightful?! by ncc74656 · · Score: 1

      because I can't just walk into a store and pick up a piece of software to do what I want

      Who goes to a store to buy software anymore? 1985 called; it wants its software-distribution model back. I wouldn't be surprised if you still write checks to pay for the stuff you buy.

      emerge foo (for a fairly large range of foo) gets me most of what I want/need.

      --
      20 January 2017: the End of an Error.
    9. Re:Insightful?! by Anonymous Coward · · Score: 0

      Many people use Windows daily without the problems that caused you such trauma that you continue to rant about it daily.
      And many more people use Windows daily and experience all the problems we rant about and more, and they put up with them, grit their teeth and reboot or whatever, because they are totally unaware that they have any alternative - they think all computers behave that way, because they've never used one that didn't run Windows.

      That's why we try to educate them. Some of us do it badly, but telling us all to shut up merely condemns the world to an eternity of buggy software, regular crashes, and lowest-common-denominator functionality. Which we don't really want to see happen.
    10. Re:Insightful?! by revengebomber · · Score: 1

      emerge foo (for a fairly large range of foo) gets me most of what I want/need. But is there a standard, or at least universally compatible way to do things if it doesn't?
      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    11. Re:Insightful?! by ncc74656 · · Score: 1

      emerge foo (for a fairly large range of foo) gets me most of what I want/need.

      But is there a standard, or at least universally compatible way to do things if it doesn't?

      wget http://foowebsite.org/.../foo.tar.gz && tar xzf foo.tar.gz && cd foo && ./configure --prefix=/usr && make -j2 && su -c 'make install' tends to work a fairly good bit of the time.

      --
      20 January 2017: the End of an Error.
  37. Geek is Geek by Anonymous Coward · · Score: 0

    Did a dotcom refugee work on Word?

    1. Re:Geek is Geek by Anonymous Coward · · Score: 0

      .ccm? wtf?

  38. I guess it is an attitude problem. by alberion · · Score: 3, Insightful

    I guess it is an attitude problem.
    If they said their software is sold "as it is" and that it possibibly had problems and were humble enough to admit it, there would be fewer MS-haters out there.
    I agree with you on the impossibility of completly testing a software of the complexity of Word. No argument there.

    BTW, calc.exe already GPFed on me. :)

    1. Re:I guess it is an attitude problem. by Achromatic1978 · · Score: 3, Informative
      Small hint: they do exactly that.

      To quote Para. 16 of the Windows XP Home EULA:

      Except for the Limited Warranty and to the maximum extent permitted by applicable law, Microsoft and its suppliers provide the Software and support services (if any) AS IS AND WITH ALL FAULTS, and hereby disclaim all other warranties and conditions, whether express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of reliability or availability, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence, all with regard to the Software, and the provision of or failure to provide support or other services, information, software, and related content through the Software or otherwise arising out of the use of the Software. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.

      Seems pretty much the case to me.

      Don't even try the "Click throughs not legally binding!". It doesn't need to be binding for this - but to claim they don't sell software AS IS is an absolute fallacy, trivially demonstrable.

    2. Re:I guess it is an attitude problem. by hahiss · · Score: 1

      Actually, if you read your Windows EULA, they only give you a limited, 90-day warranty, and all you can recover from them is the cost of the software that you're using:

      http://www.microsoft.com/windowsxp/home/eula.mspx

      You have to dig around further in their website to get the Office EULA, but it is equivalent in this regard to the one I've linked to.

      --
      "Every decent man is ashamed of the government he lives under." - H.L. Mencken
    3. Re:I guess it is an attitude problem. by Anonymous Coward · · Score: 0

      I guess I've never actually read that. (As much as I read GPL).
      Funny how semantics may get to you. They offer support, but never warrranty. It never hit me before.
      Ah well.. What do you know? I guess it IS a feature then.

    4. Re:I guess it is an attitude problem. by Anonymous Coward · · Score: 0

      > I guess it is an attitude problem.

      Not only.

      On our product, we have 700 opened bugs, maybe 50 crashers. I can crash the system in hundred of different ways (I know that, I designed it). I take all crashes very seriously.

      But customers want new features. This is a business application, and if it crashes when you do something stupid, the users themselves will often tell you that it is their fault. They learn to work around the (small but long standing) issues, and just ask for new features.

      So, what to do ? Telling them, "no, you will not have the new reporting feature, but all those long standing obscure crasher will be fixed?". No way.

      So, I have set aside 25% of the dev workforce for bug fixing, and they just fix the bugs that customers and top management don't care about.

    5. Re:I guess it is an attitude problem. by FireFury03 · · Score: 1

      Don't even try the "Click throughs not legally binding!".

      The fact that it's a click-through doesn't really matter - if you purchase for something then you have a statutory right for the manufacturer to warrant that it is fit for purpose, which AFAIK, can't be disclaimed in any contract. (This almost certainly doesn't apply to free (as in beer) software since you aren't purchasing it).

  39. crash = unexpected behavior = security issue by seifried · · Score: 1

    Traditionally security is defined as the AIC triad (Availability, Integrity, Confidentiality), any issue that violates one of these is classed as a security issue (i.e. I can bypass passwords, modify information in the system or make the system unavailable to legitimate users). In general crashes are considered a denial of service, and more importantly to me say that the code is behaving in an unexpected way. Had it been expected that processing a malformed file would be a problem the application should do something like "I'm sorry, this file appears malformed, I can try repairing it, but if that doesn't work then you can basically kiss the data goodbye, sorry about that" to the user. In this case the application crashes. Based on previous results, with exploitable Word (and Excel, etc.) flaws that allowed for code execution I'm going to go out on a limb and put my money in the corner with "these flaws are exploitable, it just hasn't been figured out how yet."

  40. Most secure ever! by smitty97 · · Score: 1
    from one of the articles:

    "In fact, the behavior observed in Microsoft Word 2007 in this instance is a by-design behavior that improves security and stability by exiting Microsoft Word when it has run out of options to try and reliably display a malformed Word document....The sample code in [Aharoni's] postings cause Microsoft Word to crash, and users can restart the application to resume normal operations."

    So this play on words is why they say Vista is more secure.....
    Crashes less! More secure!

    According to their logic, and unlike "Tastes Great! Less filling!", it can't be both!

    --
    mod me funny
  41. RTFA - not just Word crashing by PCM2 · · Score: 4, Informative

    ...if I understand this correctly. Basically, a security researcher believes he's found a buffer overflow. However, he has not yet found a way to exploit that overflow because Word keeps crashing.

    Actually, according to the Computerworld article, two of the bugs discovered will peg the processor at 100 percent, forcing a cold reboot that potentially will do a lot more damage than just corrupting your Word documents. Whatever your philosophy otherwise, that really is a denial of service.

    --
    Breakfast served all day!
    1. Re:RTFA - not just Word crashing by Anonymous Coward · · Score: 0

      If a program hangs using 100% cpu you can just kill it with task manager.

    2. Re:RTFA - not just Word crashing by Anonymous Coward · · Score: 0

      Not if it's really using *100%*, then you can't even open the task manager.

    3. Re:RTFA - not just Word crashing by I'm+Don+Giovanni · · Score: 1

      Just because the CPU is at 100% doens't mean that the particular hung process is accounting for all of that 100%. If the OS is preemptive multitasking, then other processes will get time-slices, so you can kill the offending task.

      --
      -- "I never gave these stories much credence." - HAL 9000
    4. Re:RTFA - not just Word crashing by Anonymous Coward · · Score: 0

      Yeah, *if*. I'm not sure if it applies here, but generally speaking it's not rare to have a program grind Windows down so you can't access the task manager (without waiting several minutes between input/redraw refreshes that is).

  42. Crashes are often exploitable. by Anonymous Coward · · Score: 0

    While not every crash is exploitable, usually the crash means that you can corrupt memory.

    The trick is being able to control HOW you corrupt memory. If you can do that to a sufficient degree, you can 0wn someone's computer. It's NOT always obvious whether or not an overflow is exploitable. More than once, someone has said "this isn't exploitable" because they didn't fully understand the bug, only to have someone who knows it better corrupt the memory just so, and turn a crash into an exploit.

    Also, even DoS isn't a good thing, as you might know if you'd ever been under attack. Yes, it's hard, sometimes incredibly hard, to protect yourself. But unless you do, you can expect to be kicked offline any time some wanker goes after you. And if you think it doesn't happen, you're kidding yourself. I've seen security websites be attacked by "l33t d00dz" who hated them, I've seen Christian sites flooded by those who hate them, I've seen total wankers attack people for no damn reason at all. I'd tell you to check out Attrition.org's defacement mirror, but they took that down a long time ago. There are just as many, if not more, DoS attacks than defacements, you know.

    So no, I won't go along with you and say that crashing "prevents" a security hazard. If you can't use your computer, what does it matter if the reason you can't is because it's crashing or because you're 0wn3d?

    That's Microsoft PR talking, not anybody with a damn clue.

  43. So? by MadnessASAP · · Score: 1

    IIRC wasn't one of the UNIX design philosophies that if an application becomes unstable it should crash as quickly as possible and create as much noise and debugging output in the process(or something along those lines)? So going by that it would seem the MS Offices is doing the right thing and IS crashing and generating plenty of errors and debugging info in the process.

    --
    I may agree with what you say, but I will defend to the death your right to face the consequences of saying it.
    1. Re:So? by 8-bitDesigner · · Score: 1

      Based on the incorrect assumption that the UNIX way is the "right" way to handle this? Yes.

    2. Re:So? by multipartmixed · · Score: 1

      Yes.

      And part of that noise is generating a core dump.

      Which the end-user pops into the debugger, does a stack backtrace, locates the bug, fixes it, recompiles, tests, and submits patches back to the program author.

      Microsoft is missing the resolution part of that loop. Although apparently you can get core dumps out of Windows now. (Not that I'd know how, if it does ship with /bin/sh I don't wanna touch it).

      --

      Do daemons dream of electric sleep()?
    3. Re:So? by neminem · · Score: 1

      No, the *nix way is the correct one. As the poster above me pointed out: crashing, while generating gobs and gobs of debug output, is useful if you're running open-source code, the point being that debug output can then be sent off to whoever is responsible for getting the bug fixed, and a little while later, you'll be able to download a new version in which the bug has been fixed. I'm fine with MS's assertion that a controlled crash is better than an uncontrolled crash - but it's still a crash, which is a bug, and should be fixed, now that it's been pointed out. That's the *nix way.

    4. Re:So? by 8-bitDesigner · · Score: 1

      Oh, I agree that it's the Unix way (not the *NIX way, as Linux is just a kernel, and the "Unix Philosophy" predates the BSD/Unix fork, I believe), but I'm not in agreement that the Unix way is the right way, at least for a modern day GUI program. As has been pointed out by many smarter people than myself, on this thread alone, some level of recovery is useful especially when you've got other files running within the same program, which are threatened by this, and while I expect a CLI app to choke and crash on bad data, I've got much different expectations for GUI apps.

  44. office menu button closes apps by Anonymous Coward · · Score: 1, Interesting

    I dont have time to log in but I have to point out that the biggest flaw in Office 07 is the office menu, when single clicked it drops a menu, when double clicked it kills the app...fucking redmond retards!

    1. Re:office menu button closes apps by grant420 · · Score: 0

      Hey Moron: If you double click it (the Office button in upper left), IT'S SUPPOSED TO CLOSE THE PROGRAM. Next time don't take the time to post, AC or not.

    2. Re:office menu button closes apps by Anonymous Coward · · Score: 0

      I have found that many Linux programs suffer from a crash when confronted with certain inputs -- and these inputs are nearly universal.

      Ctrl+C causes most applications to cease functioning.
      kill -ABRT causes most applications to crash, leaving debug information cluttering the disk
      kill -9 causes many applications to crash also
      and CTRL+ALT+DEL causes the whole server to cease operation

      I think we should immediately begin working on a way to help apps tolerate these inputs better and continue functioning properly.

    3. Re:office menu button closes apps by FromFrom · · Score: 1

      You're supposed to understand that he knows that.

  45. Re:fuzzer by shystershep · · Score: 2, Funny

    How does saying "light" when you meant "like" make you feel?

    Me, I feel like having another beer.

    --
    The bigotry of the nonbeliever is for me nearly as funny as the bigotry of the believer. - Albert Einstein
  46. So This Means Word 2007 is designed to crash.... by cppgenius · · Score: 1

    I could not believe my eyes when I read this ridiculous statement by Microsoft. Do they want to tell us that Microsoft designed these crashes deliberately? The only assumption I can make is that it is a standard function of Word 2007 to crash. It is enough to make you laugh out loud when you read unbelievable, incomprehensible statements like this.

    --
    www.cybertopcops.com
  47. I would have been given an F by Dancindan84 · · Score: 2, Insightful

    I'm not 100% certain, but I'm pretty sure that my programming professors would have given me an F if as part of input validation I had put:

    if (isExploit){
    crashApplication();} // this is to prevent abusing an exploit Prof. X... no really...

    ... so how is it that Microsoft (or anyone else) thinks they can argue that this is intended? Does it stop the exploit from being used? Possibly, but that does not mean that they should get to shrug this off as "not an issue". There -has- to be a more elegant way to handle it.

    --
    "Always forgive your enemies; nothing annoys them so much." - Oscar Wilde
    1. Re:I would have been given an F by Dancindan84 · · Score: 1

      Sorry, the X-Men reference wasn't intended. I don't recall the School for Gifted Youngsters having a programming course.

      --
      "Always forgive your enemies; nothing annoys them so much." - Oscar Wilde
  48. Judging from the MS response... by sehlat · · Score: 1

    it would appear that Microsoft doesn't consider anything to be a security risk unless it's 0wn3d Bill Gates' personal machine.

    1. Re:Judging from the MS response... by PenguSven · · Score: 0

      Billy probably runs a SuSE10/Wine box anyway.

      --
      What is...?
  49. Taking a page from Apple... literally by PCM2 · · Score: 5, Interesting

    The old Apple ][ Reference Manual included a few pages of technical terms, with definitions. Buried among entries like track, sector, stack, and interrupt was this gem:

    feature n. A bug, as described by the marketing department.

    --
    Breakfast served all day!
    1. Re:Taking a page from Apple... literally by dgatwood · · Score: 4, Funny

      My sad realization about that definition is that I just looked it up to see if you were serious. You were. Perhaps an even sadder realization is that I was able to reach up to the shelf above my desk and instantly grab a copy of the Apple ][ Reference Manual---right between The TeXbook and an Imagewriter II owner's manual that I used to use as an ASCII table reference before the rise of Google or asciitable.com.

      Sigh. I am, indeed, a geek. I suppose there's no escaping it.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    2. Re:Taking a page from Apple... literally by PCM2 · · Score: 1

      Man, I wish I still had all my old Apple books and junk. Stacks and stacks of Softalk magazine ... manuals to my assembler of choice (Merlin) ... Beneath Apple DOS ... manuals for Apple Pascal ... all remnants of a really fun age.

      --
      Breakfast served all day!
    3. Re:Taking a page from Apple... literally by ncohafmuta · · Score: 1

      this is a little OT, but the Apple MPW compiler was the best for crazy help, notably the errors/warnings.

      "Too many errors on one line (make fewer)" (this one is particularly helpful)
      "Symbol table full - fatal heap error; please go buy a RAM upgrade from your local Apple dealer"
      "...And the lord said, 'lo, there shall only be case or default labels inside a switch statement'"

      -Tony

    4. Re:Taking a page from Apple... literally by Poltras · · Score: 1
      http://www.scribd.com/doc/24964/Apple-Reference-Ma nual-January-1978

      It's not the book, and it's pictures (so no search function), but at least you got something ^^.

    5. Re:Taking a page from Apple... literally by Frumious+Wombat · · Score: 1

      Depressingly, though I'm likely to never see one again, my technical bookshelf at work has the Grey, Hardback, guide to VAX Assembler carefully placed with the algorithm references. Nice to know I'm not the only technical nostalgist out here.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
    6. Re:Taking a page from Apple... literally by xsspd2004 · · Score: 3, Funny

      Actually, you can escape it with a backslash (\) on *ix or a caret (^) on Windows.

      --
      This is not an illusion, a rip-off, or a ninja technique!
    7. Re:Taking a page from Apple... literally by dgatwood · · Score: 1

      That must be an earlier edition than the one I have. On my copy, the text in question appears on page 180, and that copy doesn't even have that many pages. BTW, it is also cross-referenced with a "See also" from the definition for "bug" on page 179.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  50. Is this "spin" or is this "twisted"?! by erroneus · · Score: 1

    Look. When "something" behaves in a way it's not supposed to behave, then it's a problem. Stating that a crash is the lesser of alternative evils is insane spin.

    I "grew up" in a computing environment that did not involve mainframe style computing. Everything was on smaller, personal class machines. "Reboot" was considered a solution to a problem. I recall the first time I ever stated that "reboot" is part of any diagnostic procedure in front of a former boss. He cringed noticably because he grew up in a mainframe environment and "reboot" was a very major and extreme thing to do.

    I took that perspective to heart and since then, I have focused my attentions and enthusiasms on solutions and products that do not involve rebooting and crashing. Is it any surprise that I'm not a Microsoft-Solution guy? The Microsoft culture is plainly that rebooting is okay and natural and that it's just accepted as normal even when it has impact on business process, efficiency and productivity.

  51. Straw man by Thrip · · Score: 1, Insightful

    Microsoft never said it's a feature or denied it's a bug. Their only contention is that it's not a security risk, and they back that up pretty well. Please stop diluting the force of my well-targeted anti-Microsoft rants with these mindless assaults on straw men.

    --
    I'm awake! The answer is BONK!
    1. Re:Straw man by Watson+Ladd · · Score: 1

      Uh, they said the crash prevented an exploit and so was a feature.

      --
      Inventions have long since reached their limit, and I see no hope for further development.-- Frontinus, 1st cent. AD
    2. Re:Straw man by Thrip · · Score: 1

      Uh, no. Show me anywhere in those articles where someone from Microsoft called it a "feature." From what I can see, Computerworld put that word in Microsoft's mouth, because Microsoft calling bugs features is a tried-and-true anecdote that always gets some cheers from the Microsoft antifanboys. The people who come out of this looking worst is Computerworld -- they need to seriously hire an editor with some concept of journalism.

      --
      I'm awake! The answer is BONK!
    3. Re:Straw man by Watson+Ladd · · Score: 1

      They described it as preventing an exploit. That would be a feature. If I say that animal is a domesticated wolf, then I'm calling it a dog.

      --
      Inventions have long since reached their limit, and I see no hope for further development.-- Frontinus, 1st cent. AD
    4. Re:Straw man by Thrip · · Score: 1

      Newsflash: a wolf is not a dog. A domesticated wolf is called "a wolf." If you say "It's a domesticated wolf" and I say "it's safe to go in there ... Watson Ladd said it's just a dog," then what I'm doing is called "lying." Words have meaning, and can be used with precision, when people care enough and wish to be honest. What Microsoft said is that they use some defensive coding strategies such that if the program finds itself in an illogical and potentially dangerous state, it exits. They do not say that this is a feature, nor do they say it is not a bug. They simply point out that it is not a security flaw.

      --
      I'm awake! The answer is BONK!
  52. Ahhhhhhh no by Anonymous Coward · · Score: 0

    Appeal to popularity is therefore only valid when the questions are whether the belief is widespread and to what degree The guy didn't find it acceptable. Thats fine.

    The people who buy Word must find it acceptable enough to put money down for it. Unless your trying to argue that software crashes is a new concept to people.

    Whether people not in those two groups find it acceptable is irrelevent to my point.
  53. Is it me? by xoyoboxoyobo · · Score: 1

    When I read the article, it sounded to me like two of the bugs caused the entire PC to hang, and required a complete reboot of the system. Not, as it seems to be assumed throughout these responses, just Word. It doesn't say in the article that you could just kill the offending word process. It says you have to reboot the machine. That is absolutely a DoS. "Two of the three bugs result in a denial-of-service-like situation, with the PC's processor maxed out at 100%, making the machine unusable until it's rebooted. The third, Aharoni suggested, could be used to introduce remote attack code after an exploit causes an overflow of "wwlib.dll," a crucial Word library. But "code execution is not trivial," he added."

  54. You'd rather your router crashed than word? by anss123 · · Score: 2, Interesting

    Meh, it's only Word. Firefox goes down in flames every now and then, but it recovers at the spot it left off so no big deal. I guess the same thing is happening with Word. Annoying but no big deal.

    If you want a 'big deal' you should check out Words (XP and downwards) file handling bug. Now _that's_ brain-dead. Basically, every time you use the undo function Word opens a new file handler. Keep at it and the OS eventually runs out (especially a problem on the Mac) and you can't save your document or open any files.

    Oh, and what was MS's excuse for not fixing this bug sooner? The idiotic teck complained that his debugger crashed because it opened too many handles, so he couldn't fine the bug. Well DUH!

    1. Re:You'd rather your router crashed than word? by harrkev · · Score: 1

      Meh, it's only Word. Firefox goes down in flames every now and then, but it recovers at the spot it left off so no big deal. I guess the same thing is happening with Word. Annoying but no big deal.
      It is all in attitude. This is not quite an end-of-the-world type bug, but if somebody goes "Oh. We will have to fix that one day soon," then that is acceptable. For somebody to say "that is the way we designed it, deal with it" is a cop-out and a sign of programmers (or marketing people) that don't really care.

      It is sort of like slipping on a wet floor at a business. OK, you fell. But you will have a completely different opinion of the business if they say "Ooops. I'm sorry. Are you OK?" vs. "Ha ha. Look at you. Fall down, go boom."
      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
  55. It was only a matter of time... by brennanw · · Score: 2, Funny

    ... before Microsoft started getting all their ideas from me, instead of the other way 'round:

    http://www.ubersoft.net/d/20030224.html

    but more specifically

    http://www.ubersoft.net/d/20030228.html

    --
    Eviscerati.Org: All Hail the Eviscerati
    1. Re:It was only a matter of time... by snowgirl · · Score: 1

      I like those, but I think this one speaks to the topic more specifically:

      http://www.ubersoft.net/d/19960429.html

      "Everytime I print, it crashes."

      "Well, with a bunch of research, we've found that users typically quit after printing, so we combined the features."

      Priceless :)

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
  56. That MS Guy Better Stop Spinning So Fast by SwashbucklingCowboy · · Score: 1

    Otherwise he's going to get dizzy and fall down.

    Crashing is damn sure a way to provide a DoS. The Computerworld guy is absolutely right - just display an error dialog. Geesh, can't these guys admit a mistake?

  57. Pre-processing doesn't work? by guruevi · · Score: 2, Insightful

    I don't know how exactly the bug came above, but don't you think that inputting any UTF-8 text into Word shouldn't crash the system? Ok, I can agree that you don't want to accept bad data, but just reject it then. I mean, Word 2007 is now based on XML (or so they say). If the XML is wrong, it would be simple to detect that using an XML parser, which you could perfect and use for several applications. It's not THAT difficult to create a good set of XML/data parsers which gives you the status OK or NOT OK and then allows it to go into the system.

    In software programming, just as much as in web programming, there is a saying: never trust the input, no matter where (you think) it comes from.

    If it crashes in any other way (overwriting memory, input through plugins like SOAP or so) the same is true, it is Bad Programming (c) because you either didn't check the input, or didn't protect your share of memory.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Pre-processing doesn't work? by I'm+Don+Giovanni · · Score: 1

      Look, there's a bug. Nobody's saying otherwise. Did you bother to read the article? It admits that there's a bug. The bug wasn't uncovered in normal testing or the huge beta. (Beta testers don't bother running apps through a debugger and feeding it random data just for grins.) It'll get fixed in an SP. Or maybe not, if the bug is so rare that fixing it would be more risking than letting it be.

      But it's not exploitable because the bug is detected by SafeIntOnOverflow(), which throws an exception on integer-overflow. This is GOOD. And please, don't act like slashdotters write perfect code.

      --
      -- "I never gave these stories much credence." - HAL 9000
    2. Re:Pre-processing doesn't work? by Peaker · · Score: 1

      never trust the input, no matter where (you think) it comes from.

      That's a little exaggerated. One internal function calling another can "trust" the neighboring function, as long as it is used internally and closely. Allowing this encourages the use of tiny trivial functions that can be reviewed.

      I've actually seen people write every function with a large documentary skeleton, either asserting on every condition of every argument, or checking them with error codes.
      That's great for inter-module API functions. It is. It is even better than the other extreme (The Microsoft-ish trust-all).

      But using such checks for internal functions results in:
      • Code bloat.
      • Discourages the creation of functions, therefore people don't divide to functions as much as they should, making functions large and unreviewable.
      • Repetative assertions and incorrect documentation thrown all over the place.

      So I would say: Never trust input that comes from external sources. And now the problem becomes defining external. But input from a file (a .DOC) is definitely external.
  58. Mr. David LeBlanc Is A Hero! by Anonymous Coward · · Score: 0

    Microsoft developer David LeBlanc is exactly what I would describe a well educated brainless slave (hm, actually he might have "some" brain, but is not interested at all to using it). He actually is able to tell us that a crash is a good thing ...

    Yeah, war is a good thing, death is a good thing, loss is a good thing - even hurricanes may have their good sides - thanks, Mr. LeBlanc.

    Greetings,
    Chris

  59. Features? Well then... by Anonymous Coward · · Score: 0

    If that's the case, I've been writing feature-rich code for years.

  60. Perhaps it is a DoS by madsheep · · Score: 1

    I really take issue with those who would characterize a client-side crash as a denial of service.
    I used to actually think the same thing. It's easy to quickly come up with this argument. I open a file and my Word crashes, that's not a DoS! Well, it depends on what exactly crashes. Does it cause all winword.exe's to crash or just the one document you opened? Imagine you were working on a paper for a while and it didn't autosave and you did not save it either. Then you open this malformed .doc file that crashes all instances of Microsoft Word. Well, you just had a small temporary DoS, only you actually lost something.
  61. Re:fuzzer by Beardo+the+Bearded · · Score: 1, Funny

    Might I suggest a light beer?

    You could drink it in the dark.

    --

    ---
    ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
  62. no cookie for you! by Anonymous Coward · · Score: 0

    bad programmer, no biscuit Nobody likes cookies anymore.

  63. snprintf() is still damage limitation by steve_l · · Score: 1

    From my past days doing C++ code, I recall that some snprintf() implementations don't zero the last byte in the buffer if they overflow...there's been no overwrite, but the string is toast. So its not enough to call snprintf() and get overconfident that your app is secure...you need to check for an overflow and bail out if there is an error, or go back and allocate more.

    Code that just does snprintf() and doesnt check the results is not vulnerable to buffer overflow attacks, but you can damage a string which can be used in other functions, so lead to trailing damage.

    The safe way to do string concatenation is through half-decent string classes, ones that allocate on the fly. cstring, perhaps.

    In the 'stricter' languages: Java, C#, python, lisp, you dont have buffers, you dont have buffer or array overflow. Life is simpler. Instead you get some kind of runtime fault when an out of bounds event happens. I think this is what MS have been trying to retrofit into their C++ code. The main problem here is that when C++ faults with something like a pointer error, your entire memory footprint is potentially contaminated. Whereas when a Java program goes wrong, its damage is limited to all the stuff in scope (and the things indexed off it) at that point in time. This is why nobody bothers to go for buffer overflows when attacking a Java app -instead you assume the coders forgot to escape web page parameters being used in SQL statements and go straight for SQL injection attacks. The language has moved the vulnerabilities.

    1. Re:snprintf() is still damage limitation by azrider · · Score: 1
      Let me see...

      Code that just does snprintf() and doesnt check the results is not vulnerable to buffer overflow attacks, but you can damage a string which can be used in other functions, so lead to trailing damage.

      In the 'stricter' languages: Java, C#, python, lisp, you dont have buffers, you dont have buffer or array overflow. Life is simpler.
      What happened to "Clear target, copy to size of target -1, set end of target to 0"? Even in the stricter languages there is no excuse for not doing your level best to prevent "out of bounds" events from happening in the first place. If things like that had been taught from the start, "buffer overflow" would not be a well known phrase.
      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
    2. Re:snprintf() is still damage limitation by steve_l · · Score: 1

      The apple (and presumably) BSD version of snprintf() always zeros the last byte. But even zeroing the end of the string doesnt avoid problems, because information has been dropped -unless the caller checks for it they will carry on, not knowing that half their string has just been discarded. IT may be robust against buffer overflows, but it has a datacorruption bug that can take a while to surface. And there is nothing like a large database with invalid data to cause nightmares.

      But yes, I do take your point about rigorous coding. That is not something Microsoft were known for in the past. As a word doc can include any activeX control or other embeddable OLE object, objects that load their state from binary data serialized to the file, there's a whole truckload of buffer overflows out there, just waiting to be found.

    3. Re:snprintf() is still damage limitation by azrider · · Score: 1

      The apple (and presumably) BSD version of snprintf() always zeros the last byte. But even zeroing the end of the string doesnt avoid problems, because information has been dropped -unless the caller checks for it they will carry on, not knowing that half their string has just been discarded. IT may be robust against buffer overflows, but it has a data corruption bug that can take a while to surface. And there is nothing like a large database with invalid data to cause nightmares.
      I agree with you about the possible data corruption (there is nothing better than checking the input for validity before processing). I was just sending an off the cuff (smartass - me not you) comment about sloppy coding becoming endemic to the world of "point and click" programming, where the IDE takes the place of actually knowing why you are writing the program in the first place (hint: if you cannot define input(A), output(C) and the steps(B) to get from one from the other you are in the wrong place...trust me on this). If programming was still taught as a science (when I started in HS 40+ years ago), rather than an art (if it looks right on the page it's good to go), we would not be seeing the vast number of exploits which depend on the user realizing that they have to look both ways before crossing the street. As long as we expect computers to be used by people who can not be bothered to learn the dangers while refusing to take even the minimal necessary (IMNSHO) steps to protect them from said dangers we will continue to provide the opportunity for those who would take advantage to do so. As long as we (as customers) permit software and hardware vendors to define what the acceptable level of quality is in products we pay for we will see more of the same, rather than the [increased productivity|decreased cost|security] (pick one or more) that we believe we can (and should) be seeing. As long as we (as "subject matter experts") do not tell people loudly and clearly that EULA's that say "gee, we sold you an accounting package that is incapable of adding 1+1, but we told you there was no implied or explicit warranty that it would help you do accounting for your business or that it would follow basic accounting principles", we are PART OF THE PROBLEM. [/rant]
      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
  64. 1482 by musmax · · Score: 1

    Thanks for the attitude adjustment o mister executive sir, a humble code monkey needs firm correction from his betters ever so often, yes certainly sir. O sir, please bend over while I stuff my 1482 page TIJ up your pompous condescending executive ass.

  65. Crashing is always one step away from exploitation by Anonymous Coward · · Score: 0

    I find it very strange that no poster said the following:

    Crashing is only one step away from exploitation. Let me explain.
    Crashing means: overwriting(corrupting) important data, with the result of jumping into somewhere where you weren't supposed to.
    The SOMEWHERE can obviously be influenced by the payload aka the corrupt document.
    If you manage to jump into data you already supply with your (corrupt) input data - bingo, instant exploitation.

  66. Here's an idea. by Anonymous Coward · · Score: 0

    (assuming binary data, no need to null-terminate)

    Instead of:

    char* data = ...;
    size_t len = ...;
    char buffer[1024];
    memcpy(buffer, data, len);
    // do something

    try this:

    char* data = ...;
    size_t len = ...;
    char buffer[1024];
    if(len <= 1024)
    {
       memcpy(buffer, data, len);
       // do something
    }
    else
    {
       // indicate failure
    }

    I have just solved the majority of Microsoft's buffer overflows.  Yes, most of them really are this simple; the recent animated cursor vulnerability is EXACTLY this.

    Seriously, you have to be incompetent to overflow the stack in this manner; there simply is no other explanation.

  67. Worthy Competitor for "Best Bug as Feature" ;) by void_bips(brain) · · Score: 1

    It reminds me of the story titled:
    What is the Best Bug-as-a-Feature?

    Clearly the story was "much ahead of its times". :)

    --
    Blog
  68. Less is More by Independent+Voter · · Score: 1

    Orwell would be proud!

  69. So, all these years, the BSOD was a feature? by master_p · · Score: 1

    And I thought it was a problem...one learns new things every day.

  70. My favourite Windows error message by AliasMarlowe · · Score: 2, Funny

    "Error: the operation completed successfully"
    I kid you not! This was common in Win98 and observed also in Win2k - if an app crashed, causing DrWatson to pop up and offer to save some kind of crash log, just click the save as button, and then cancel the save. Voila.

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:My favourite Windows error message by Matt+Perry · · Score: 3, Interesting

      "Error: the operation completed successfully"
      I kid you not! This was common in Win98 and observed also in Win2k - if an app crashed, causing DrWatson to pop up and offer to save some kind of crash log, just click the save as button, and then cancel the save. Voila.
      I knew I saved this error message for a reason. Years ago some colleagues and I saw this error while installing some high-priced, fancy-pants software and just had to get a screenshot.
      --
      Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
    2. Re:My favourite Windows error message by Anonymous Coward · · Score: 1, Funny

      somewhat OT: old Realplayer error message

      http://img411.imageshack.us/my.php?image=realplaye rerrorws8.gif

  71. Used Car Sales People Suck by ShrapnelFace · · Score: 1

    Yeah- I heard this once:

    "That sound you hear- well thats a feature of that model year. No no, dontch worry bout that- the bumper is SUPPOSED to fall off in the event that you bump up against it- that way you can put it back on and it will still look good"

    Whatever.

  72. Re:Crashing is always one step away from exploitat by I'm+Don+Giovanni · · Score: 1

    Bullshit.

    Let's say that I write a 10-line program that simply takes integer input, performs some mathematical calculation and printfs the output. My program makes use of SafeIntOnOverflow (the function that Word is using to throw exceptions on integer-overflow). You run my program and give it an integer that causes my calculation to do integer-overflow, SafeIntOnOverflow detects it and throws an exception, I don't bother catching it, and therefore crash. How is that one step away from exploitation? This is a controled crash, if you will. No data was overwritten, no corruption of anything, and no exploitation possible.

    --
    -- "I never gave these stories much credence." - HAL 9000
  73. Open source and malformed input by Krishnoid · · Score: 1

    Sure would be nice if this page was updated with more recent results, and if somebody ran the fuzz generator regularly as a community project, like Coverity does for free software project code.

  74. where do you want to go today? **FATAL EXCEPTION** by hxnwix · · Score: 2, Interesting

    It's a bad document. Word crashes. Life goes on. You're right, you know. And you're not just right about word - this design paradigm clearly extends across the entire Microsoft product line, from the most basic to the most mission-critical:

    "If you understand computers, you know that a computer normally is immune to the character of the data it processes," he wrote in the June U.S. Naval Institute's Proceedings Magazine. "Your $2.95 calculator, for example, gives you a zero when you try to divide a number by zero, and does not stop executing the next set of instructions. It seems that the computers on the Yorktown were not designed to tolerate such a simple failure."

    Microsoft running a warship? What could possibly go wrong? Oh yeah - absolutely everything, since Microsoft can't be bothered to sanity check input.

    FYI, Microsoft screwed up here and it's difficult to defend them in this instance without coming off as a dunce yourself.
  75. If you don't like it, then don't use it! by davidmillions.com · · Score: 1

    Why does everyone complain about Microsoft's software while using it? It never makes any sense.

    1. Re:If you don't like it, then don't use it! by GnuDiff · · Score: 1

      If we didn't use it, would we really care to copmlain about it?

  76. Walk into a store by Peaker · · Score: 3, Insightful

    Hahahaha!
    That is so early 90's!
    Hello?? We have the internet!
    Software can be downloaded!

    In Windows, I can't just type in "office", click the resulting "kde office" and "open office" programs, and have them automatically downloaded for me, without fuel being burnt to get the bits from there to my computer. Amazing!

    Also, I can just type in almost anything I may want my computer to do - and behold, one of more than 10,000 programs shows up which can be installed with a single click!

    Oh wait, there's more. When I play a movie in full-screen, a bunch of "Would you like to update me?" dialogs of various programs don't jump up at me!
    In fact, *all* (and that means all software you have) updating is done from a central location - by clicking the update icon.

    Oh, Windows doesn't have that? Pitty, maybe I should stick to Linux!

    1. Re:Walk into a store by Anonymous Coward · · Score: 0

      Some guys said:
      In Windows, I can't just type in "office", click the resulting "kde office" and "open office" programs, and have them automatically downloaded for me, without fuel being burnt to get the bits from there to my computer. Amazing!
      ----

      Pardon while I wax pendantic, but you can't do that in Linux either.

      1) You can't just type "office" anywhere in Linux and get the same same result either, you've got to type it a certian way and in specific places to get a list of apps to instal. In other words, you still have to go through steps. They might be different steps than you take in windows, but steps none the less. Don't front. And you know, if the google search field counts, you can do what you suggest on ANY OS that supports a browser.

      2) Anyone who says (or implies) that you can't legally download software or updates using windows is just plain ignorant.

      3) You can't avoid burning fuel to bring those bits to your desktop, unless you've suddenly discovered a new way of powering the world that you also installed into every power generation station on the planet while no one was looking... We generate power by (in what, say 80% of cases) by using some sort of toxic fuel... Bits don't move themselves. Their carbon footprint might be smaller than your car's, but it's still there.

      Alright, done being an OS snob now. For what it's worth, I'm not bashing Linux, it's a fine OS. If I was ever doing something that didn't involve gaming, I'd probably use it...

      Or... you know... not.

      Wait sorry, NOW I'm done being an OS snob. (feel free to copy and paste this post, swapping Linux for windows, for use in future pointless OS arguments. They're all going to come down to two pedantic nerds quibbling over semantics anyway, so save yourself the trouble of writing a new one.)

    2. Re:Walk into a store by soliptic · · Score: 1

      It's impossible to download Open Office on Windows? You can only buy it in a shop? Really?

      It's impossible to play a full screen movie without annoying messages in Windows? Really? Funny, I thought that was Quicktime - an Apple product, remember? Yes, you can get it on Windows, but then again you can also get umpteen other media players which happily play full screen without doing this - including, er, the one that comes built in with Windows (rubbish as it is in every other regard, it at least doesn't match Quicktime in that department).

      That this tripe is moderated +4 insightful makes a bit of a mockery of slashdot groupthink. Bash Windows + Praise Linux = modded to the roof, even when it's essentially complete nonsense.

    3. Re:Walk into a store by Peaker · · Score: 1

      You can't just type in office in your package manager window, and click open office for it to be downloaded and installed for you. As well as showing you one-click-away offices right next to it, too.

      In Windows, you have to find the office suite in various web sites, and click quite a few more than one click to actually download it, after which you have to click more to run the untrusted executable (In Linux, my downloads are signed by a trusted repository and trackable entities).

      I did not say you couldn't download it - I said you couldn't download it and install it as easily as in Linux.

    4. Re:Walk into a store by Peaker · · Score: 2, Interesting

      1) You can't just type "office" anywhere in Linux and get the same same result either, you've got to type it a certian way and in specific places to get a list of apps to instal. In other words, you still have to go through steps. They might be different steps than you take in windows, but steps none the less. Don't front. And you know, if the google search field counts, you can do what you suggest on ANY OS that supports a browser.

      You have to type it in a specific text box - that of your package manager.
      And then, the various alternatives are 1 click away.
      That is never true in Windows, it is much more difficult and involves far more to find, download and install from the web. And far worse, it involves far worse trust in untraceable entities! My packages are signed by the maintainers who registered themselves and are trackable.

      2) Anyone who says (or implies) that you can't legally download software or updates using windows is just plain ignorant.

      I didn't say you couldn't legally download, I said you couldn't download the updates for your entire software repository (including not just Microsoft software, but also your games, your Instant Messangers, Photo editors, etc) from one central location, which remains true.

      3) You can't avoid burning fuel to bring those bits to your desktop, unless you've suddenly discovered a new way of powering the world that you also installed into every power generation station on the planet while no one was looking... We generate power by (in what, say 80% of cases) by using some sort of toxic fuel... Bits don't move themselves. Their carbon footprint might be smaller than your car's, but it's still there.

      Talk about nitpicking! Yes, some fuel is burnt (unless wind or solar power is powering those routers, ofcourse), but to compare that to the fuel burnt to power the car to and from the store to carry the bits is absurd.
  77. Welcome by Peaker · · Score: 1

    Welcome to the world of poorly designed software.

    Too expensive to fix a de-serialization operation of document data?

    Ouch, someone must have hired incompetent software designers!

  78. Re:where do you want to go today? **FATAL EXCEPTIO by Anonymous Coward · · Score: 0

    *golf clap*

    That's the most inane rant I've heard yet. Kudos!

  79. In case you want to know why this happens by Taagehornet · · Score: 3, Informative

    While perhaps producing some rather amusing results, this is a unfortunate but unavoidable consequence of Notepad having to support a variety of encodings of text files.

    It's not really news though, and I doubt Hugh Thompson deserves any credit, Raymond Chen explained why things behave like this back in 2004.

    1. Re:In case you want to know why this happens by Ambidisastrous · · Score: 1

      Thanks for the link. But why don't other text editors choke on it, too? I tried the same file with gVim, and a commenter on Raymond's blog mentioned Emacs and Wordpad, with no ill effects.

    2. Re:In case you want to know why this happens by Foolhardy · · Score: 1

      It's because Notepad supports both UCS-2 and ASCII encodings, but without any metadata or conventional file headers to tell it which format is actually being used. Unless you tell it otherwise, Notepad uses the Win32 function IsTextUnicode() to try and guess the format of the text. IsTextUnicode() offers only a best-effort attempt to detect what format a blob of text is in. See the description of IsTextUnicode() for the various fuzzy detection methods it offers. It doesn't always work, especially if the sample size is small.

      Notepad tries to "just work" with both formats of text based only on the contents of the text. There is no strict solution, given the lack of metadata. Most text editors require you to explicitly state the format of text (or always assume some default), leaving no possibility of accidental failure.

    3. Re:In case you want to know why this happens by Anonymous Coward · · Score: 0

      What kind of crazy tries to use Notepad to edit anything besides plain text, anyway? It's pretty easy to distinguish plain text from UCS-2, provided you haven't overloaded 7-bit ASCII with your proprietary crazy encoding. The fact that Microsoft didn't think Notepad was good enough is probably a sign of something.

    4. Re:In case you want to know why this happens by Anonymous Coward · · Score: 0

      It's pretty easy to distinguish plain text from UCS-2
      It's easy to distinguish plain text from plain text? Do share your miraculous method!
  80. SOP for many.... by UncleTogie · · Score: 1

    While I have no trouble slamming MS for something like this, it's not just THEIR problem. Two medical/dental packages I'd worked with [from the same company] used this strategy: Fix glaring bugs, call it a "feature upgrade", and charge clients for it.

    FUD seems to be the new replacement for marketing. While researching other restaurant point-of-sale systems, I came across THIS page. I called them and asking about their info. They insisted it was correct, and sounded insulted that I'd point out obvious errors. If you look around that site further, you'll easily see what I mean.

    I believe Scott Adams labeled it best: Weasel Words.
    --
    Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
  81. Re:where do you want to go today? **FATAL EXCEPTIO by hxnwix · · Score: 1

    Read the linked article and then we can talk about insanity, OK?

  82. MS programmers know their products ship with bugs by Anonymous Coward · · Score: 0

    and rest of the planet knows that...no news here.

    I $mell "Undocumented Vista/Office/Hacking Vista" books coming already. No news here.

    The difference is the rest of the world wants to run software that is more quality/less vulnerable than what Microsoft ships. The opportunity lies herein. Slashdot/Open source Linux users/developers users know that. I'm really starting to think MS developer philosophy bends more toward "if it compiles, ship it" than "if it passes our three thousand regressive use case test scenarios, ship it". I start to question whether they have three thousand use case test scenarios. They have enough programmers, they should.

    It would be interesting to see the EU ask Microsoft to show the world their Windows Vista/OFFICE test case scenarios and the test case tool source code to prove that they are conscientious about delivering quality product to their users. Prove to the world they are conscientious about their product. As it stands, they can say whatever the hell they want and the consumers would need to believe them.

    The OSS product have test cases for everyone to see. It isn't perfect but that's ok. At least you can see they are conscientious. On the other hand, when using MS product we need to trust MS programmers are conscientious.

    I trust MS programmers like I (fill this in yourself...) ;)

  83. So this is how I get my blog to become popular.... by unborracho · · Score: 0, Offtopic

    http://www.sitemeter.com/?a=stats&s=s24secmaniac&r =36

    Get linked to on slashdot!

    (That is a graph of that blog's traffic)

    --
    "You had this look that of an angel, it was such a bad disguise" --Dishwalla
  84. Differences, differences by bonefry · · Score: 1

    The difference between open-source software and proprietary software is that with open-source software you can ...

    1) fix the bug yourself
    2) find someone to do it for free on support forums and mailing lists
    3) report the bug and wait for the fix that is distributed for free
    4) in case 1,2 and 3 are not possible ... you can always pay a third-party to fix the bug for you

  85. Re:fuzzer by geekoid · · Score: 1

    You sir, are the brightest egg here. Now, go get me a mocha.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  86. Anyone else remember ntcrashme? by argent · · Score: 1

    Anyone else remember crashme, an early program that ran random code until it crashed, and an NT-based equivalent called "ntcrashme"? I remember that the website for the NT one didn't last long, and the hot spin at the time was that Microsoft had leaned on them.

    It seems Microsoft's been in denial about "fuzzers" for some time.

  87. Goatse's a-hole is a feature by Anonymous Coward · · Score: 0

    Not a French psychosis.

  88. Happened to me by Anonymous Coward · · Score: 0

    This happened to me once, but with an old version of Word. I tried to print, and the damn thing locked up completely. I went into the task manager (win 2k) and it was unable to end the process. So the only thing i could do short of yanking the power cable was to turn WINWORD.EXE 's priority to lowest, to get enough of the system back to do a proper shut down. Gotta love windoze....

    1. Re:Happened to me by Hal_Porter · · Score: 1

      Unkillable processes usually mean you have badly written driver loaded that won't allow IRPs to be cancelled -

      http://blogs.msdn.com/oldnewthing/archive/2004/07/ 23/192531.aspx

      Get rid of any non Microsoft drivers, and the machine will usually work much better.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Happened to me by Bert64 · · Score: 1

      Better is subjective...
      It will likely be more stable, but it could also be considerably slow and may not work at all.
      Modern video drivers, SATA drivers for xp/2k etc, there are many cases where you simply have no choice but to use third party drivers.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    3. Re:Happened to me by Hal_Porter · · Score: 1

      Modern video drivers, SATA drivers for xp/2k etc, there are many cases where you simply have no choice but to use third party drivers.

      You had a choice about the hardware, right? There are video and Sata chipset manufacturers that have good driver support, you can just stick to those. E.g. Intel motherboard chipset and Nvidia or ATI graphics should be fine, it's when you use some shitty $50 SIS motherboard with integrated graphics that you end up with an unstable system.

      It's annoying when geeks behave as if hardware is delivered by the hardware fairy and they have no choice to use ultra cheap stuff which has a terrible reputation.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    4. Re:Happened to me by Bert64 · · Score: 1

      You quite often have no choice in company environments, they will buy from whatever vendor gives them the best deal, or is their "preferred" vendor.

      On the other hand, if your specifically aiming for a known stable configuration then windows is always a poor choice, since you can buy hardware from Apple, Sun or IBM which comes with an OS specifically designed for that exact hardware.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  89. I have to agree with some of it ... by Kostya · · Score: 1
    Ok, I'm a big hater when it comes to M$ and I don't miss a chance to beat on them when I can. But I have to agree with the guy here:

    I really take issue with those who would characterize a client-side crash as a denial of service.

    A file crashing because of a bug isn't technically a DoS flaw--it's just a true, honest bug. Which doesn't mean that Word is some quality app, it just means that a crash here or there doesn't equate to a security problem or DoS. When I go to some sites with flash (or WMV, I'm not sure), it crashes Safari. Would I classify that as a DoS? No, that would just be silly. So I'm going to judge MS by the same standard.

    I suppose a client-side crash, under certain circumstances, could be used for a DoS. But this doesn't look to be very exploitable. I think it's just a normal bug/issue.

    Still think their apps are crap though ;-)
    --
    "Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
    1. Re:I have to agree with some of it ... by rir · · Score: 1

      I'd have to agree. The guy seems to be making a big deal out of being able to crash Word with a heap overflow buy using a weird input file. The thing to note is that this is a heap overflow, which is much harder (if not impossible) to exploit than the stack overflow bugs that Microsoft has been so fond of in the past. I can see the headlines now "Bug in common word processor could cause loss of unsaved changes if user takes specific action to open a specially crafted input file"... ok maybe it won't make the front page...


      I think there's a pun in there somewhere... maybe if we post certain "malformed" puns to slashdot we can cause all the "unsaved" stories from the last few hours to be lost in a similar fashion...

  90. Abusable? by Anonymous Coward · · Score: 0

    Send data that will automatically forward to a link to a malformed document. (Embeddable documents anyone?)
    A la "days of IRC wars" with the 139 nuke.
    Although not exactly the same.. it does not mean this is not something abusable. Just not something "highly critical"

  91. this guy has been taken slightly out of context... by smash · · Score: 1
    Of course all crashes are bad - I don't think any one disagrees with that.

    However, from a read of the guy's blog, this guy seems to be the author of a "safeint" type of library that is in use by the office 2k7 code, that throws an exception and (and word decides to "die" when it is thrown) instead of possibly leading to a buffer overrun and exploitable security hole.

    So, in that respect, it is indeed a "feature".

    Of course, the code that crashed needs to be fixed. But presuming that you've got perfect programmers and that your code is 100% correct in all situations when you're dealing with a project the size of office is a pretty big ask. Having this "safety net" in place to default to 'crashing' in a non-exploitable way if the code goes off the rails is a good thing.

    From what I gather, it's a similar *concept* to idea using stackguard or what have you in the open-source world. I haven't looked into the technical details at all so it probably works in a completely different way and provides a different level of proection - but the basic premise (assume that your code will break, and put safeguards in place to ensure it breaks in a "safe" manner) is the same.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  92. Re:So This Means Word 2007 is designed to crash... by smash · · Score: 1
    There's crashes, and there's *crashes*.

    No, it's not designed to crash deliberately. That would be retarded.

    It is designed so that *if* the code goes awry in an unforseen way it is "shut down" (relatively cleanly) with an exception error. The shutdown with exception is what people are calling a "crash", but it's not the same as a proper crash, where your application decided to start executing random bits of memory due to a buffer overflow.

    There is a difference - and this is why the guy is calling it a feature - he's the author of the library which detects the code problem and shuts down before doing anything seriously bad.

    Unfortunately, people are just calling the behaviour a "crash" and equating it to a typical buffer overflow, which isn't exactly fair. Yes, it has revealed a code problem that needs to be fixed. No one disagrees on that point. However the "feature" is that if the safeint library was not in use, the 'crash' (better description would be "unintended or unexpected shut down") would be a lot worse, and likely exploitable.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  93. Clippy the Caddy by epine · · Score: 1


    Of everything Microsoft, Word is the worst prison. Wordstar under CP/M on my Osborne Z80 never crashed. How hard can it be? I recently came up with a metaphor for using Microsoft Word: it's a lot like golf. You want to format something, you pull out what appears to be an appropriate iron (from a golf bag with 3000 clubs), then you take a whack at the ball and see what happens. Did the ball move as expected, or wind up in the long grass? How long is the grass? Too long, take a Mulligan, press ^Z, and give it another swing, watch the sand fly. The only feature Word lacks is the score card at the end of the round: seven balls lost mysterious font change, snowman on what at first appeared to be an easy headline alignment, etc. That doesn't even count how many times the lights went out unexpectedly and you played a hole over again (the much vaunted document recovery). I'd like to see Tiger play a round with Clippy the Caddy. Tink, tink. "Why don't you putt with a three iron?" Putting letters onto a page: how hard can it be?

  94. Appropriate use of the phrase: by Vacardo · · Score: 0

    "It's not a defect, it's a feature."

  95. Just plain negligent programming by frankShook · · Score: 1

    Every Office application has an autosave function. Autosave is just acknowledgement of bugs. There are bugs in Office that have persisted for years, yet Microsoft ignores them. Properly written code just does not crash. Any conscientious coder should feel compelled to get to the bottom of a crash and respond immediately with a patch, no matter how insignificant.

  96. MS strategy based on Jokes. by PenguSven · · Score: 0

    So you're saying that after years of jokes about "OH that's not a bug, its an Undocumented, Unwanted, Unplanned feature" Microsoft has actually started using that as an excuse? this is GOLD.

    --
    What is...?
  97. Bad Reasoning by logicnazi · · Score: 1

    So how is it that releasing exploits or flaws immediately after patch Tuesday is supposed to maximize user's exposure to the bugs? One of the reasons MS has patch Tuesdays (apart from making like easier for IT guys) is because they need to do QA testing and otherwise take time to validate the patch before they can release it. If the exploit was released the day or even three days before patch Tuesday then it still wouldn't be possible for MS to patch it that month.

    In fact releasing the exploits on patch Tuesday may minimize the amount of time users are exposed. Presumably the programmers working on creating the patches work on the same monthly cycle and right after patch Tuesday they likely pick and start work on a new set of bugs. Thus by releasing the flaw information right on patch Tuesday one makes sure it doesn't have to take two cycles for the software to get patched.

    Of course this whole analysis changes if you think MS has already been informed of the problem and already generated patch code to fix it but just not bothered to ship it yet. Perhaps this is the case but either way something seems fishy about this reasoning.

    --

    If you liked this thought maybe you would find my blog nice too:

  98. Meh. (tagged: WONTFIX) by BillX · · Score: 1

    So basically... if I make MS Word try to open the Windows equivalent of /dev/random as a .doc file, it'll crash. How...inconvenient. Sure, there's this small-but-nonzero chance that such crashes are an exploitable vulnerability. Maybe they are, maybe they aren't (I don't have my disassembler handy)...but if they aren't, I don't give a damn about them, and I'd be surprised if the Word development team felt differently. One in a million users might rename their favorite Black Sabbath mp3 to a .doc file to look for hidden satanic messages, or whatever, but I wouldn't exactly consider this a showstopper--especially one that the devs should waste time fixing in preference of Word's more serious issues. How about not randomly changing fonts and sizes when you delete neighboring paragraphs or copy/move text around? It seems since Word 95 onward (at least up to Office 2003), they decided to reimplement the Delete key as a "randomize font sizes" key.

    --
    Caveat Emptor is not a business model.
  99. Not great, but better than the alternative by cookd · · Score: 1

    Obviously, nobody likes a crash. The best behavior is to tell the user that the document is not valid, or perhaps try to correct for the error and go on. So I'm fairly confident that the developers involved will examine the crash reports, fix the issue in the Word codebase, and continue on. Whether that fix shows up in a patch depends on the impact, risk, cost, etc.

    As has often been seen, every patch has a certain potential to disrupt the rest of the system or uncover a new (possibly worse) issue. It is very possible that by fixing the cause of the crash, Microsoft would allow the system to continue into behavior worse than crashing. Pushing out a patch is not the right thing to do if the risk of fixing the issue is high and the value of fixing the issue is low.

    Severity is hard to define. If the bug is only going to happen if the user opens a bad document, and the bug immediately exits the system and prevents the user from viewing the bad document, I'm not too worried. If the bug causes the system to slow down and the user has to end the process, I'm still not too worried. If the bug causes the system to stop responding, then I'm a bit worried and it needs to be fixed as soon as the patch can be carefully tested to ensure it doesn't cause other problems; it probably will show up in an optional patch, KB article, and/or service pack. If the bug exposes a security vulnerability, I'm really worried and you'll probably see a patch for this issue next Patch Tuesday.

    There are a lot of conditions where a programming error will be caught by the system, resulting in a "safe crash". Certain system APIs have built-in assertions that will immediately terminate the application if faulty behavior is noticed. While it would be great for the software to be bug-free, we all know that bug-free software is pretty hard to come by at any cost. Microsoft has made a big investment in setting things up so that when a potentially dangerous bug is encountered at runtime, the program exits immediately and optionally sends a crash dump to Microsoft. This process is sometimes called "InstaDeath". For example, the compiler's stack buffer overrun protection will trigger InstaDeath if it detects a stack or heap buffer overflow. An attempt to call an unregistered exception handler will trigger InstaDeath. The secure CRT functions (highly recommended!) will optionally trigger InstaDeath (mostly because if you don't expect and properly handle string truncation, that can also be a security issue).

    While this might result in more crashes, it also results in the following good behavior:

    - The crash occurs at the precise point of the unexpected condition instead of some random time later (or not at all). Instead of allowing the attacker's code to run or corrupting data, the app exits immediately. The crash dump points directly at the place where the unexpected situation was encountered, making a fix much more likely.

    - Entire classes of bugs will now always result in an immediate crash every time. While crashing is never ideal, it's better than security issues or data corruption. Bugs have to be found and fixed one by one. If a class of bugs now always causes an immediate crash, it can never be used for an exploit (though it can be a DoS).

    Again, crashing is never good. But in some cases, it is the right response. And if the crash occurs via the appropriate mechanism, it is a controlled crash that cannot be exploited (except for DoS).

    I'm sure the bugs will be investigated, and if appropriate, patches will be issued. However, the security researchers at Microsoft are not wrong in saying that crashing is better than continuing on in a bad state. And they're not wrong in saying that crashing is not always a security flaw.

    One last real example. I recently read about an exploitable browser flaw that was only exploitable because the browser did not crash. The exploit data caused an access violation nearly every time. Once in a great while, the exploit data successfully attacked the system. Under no

    --
    Time flies like an arrow. Fruit flies like a banana.
  100. Philosophical differences by stewbacca · · Score: 1
    This article (and many of the responses) highlight the fundamental difference between those people who accept shoddy Microsoft products and those who demand better. The whole Windows vs. Mac debate comes immediately to mind. Many of the posts here show exactly why Microsoft is the dominant market force, because you guys simply accept crashing programs as a "feature". When I get a random OS X crash (rare), it still infuriates me. I investigate the cause, and usually stop using the offending software. For example, I used to use Firefox 100% of the time and just kind of shrugged off the crashes (the most frequent crasher, in my experience), because the recover was pretty seamless. I've since started using Camino, and it hasn't crashed in months, so I'll probably never use Firefox again, even if it dishes out $10 bills every 5 minutes from my cd slot.

    Thankfully, I've never lost data, and never had to accept a dialogue box that says, "we are sorry for the inconvenience..you may have lost your data..." Why do people accept this? I guess I'll just never understand the geek-n-tweak crowd.

  101. O-Rings by Nefarious+Wheel · · Score: 1
    By the same logic, one can discover an O-ring in the Challenger solid fuel boosters that has eroded half way down and say the design was 100% overspec.

    I hate it when Microsoft is so totally dogmatically sure that all their changes are in our best interest. Such an attitude is universally pernicious. Or, as a brighter person than me said:

    "Science is a way of trying not to fool yourself. The first principle is that you must not fool yourself, and you are the easiest person to fool." -- Richard Feynman

    --
    Do not mock my vision of impractical footwear
  102. "Nobody's saying otherwise"? by Anonymous Coward · · Score: 0

    It's a feature to crash precludes the idea that it is a bug. So MS are saying it's not a bug.

    As to "not exploitable" you don't know that, the finder doesn't know it and MS don't know it. Unless there's a code fragment like:

    if (badXMLParse) {
        kill -QUIT processPID;
    }

    in which case why not stop working on the XML loaded and tell the user that "this file is corrupt" and unload the parsed data from memory?

  103. Of course they're features by unix_core · · Score: 1

    Of course these things are features. That is, marketing-features for the next version of MS Office... (who might just have even better features of this kind) ;-)

  104. Damn. Foot, meet gun. by Jesus_666 · · Score: 1

    Given the average Slashdotter's inabaility to proof-read the post before clicking the Submit button, random and malformed "inpit" probably doesn't only occur with Word... as evidenced by me.

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  105. Foot, meet gun. Again. by Jesus_666 · · Score: 1

    I write a post to comment on my typo-riddled parent post and then make a typo in "inability". I'm so god damn awesome.

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    1. Re:Foot, meet gun. Again. by Obsi · · Score: 0

      It'd be easier to SHOOT yourself in the foot as opposed to HIT your foot with the gun. Unless you were actually meaning 'Foot, meet bullet."

  106. there's always the next revision.... by BlastQuake · · Score: 1

    Microsoft is hard at work implementing the DDoS feature for the next version, as customer demand is unprecedented(and nonexistant).

    --
    "What use is power to the Keeps of Balance?" -Disnt of Nightmare LpMud
  107. Needed: external MS database by lpq · · Score: 1

    Something I've always thought about with MS -- because of their "creative" bug classification system, was that an "external" bug database was needed. It doesn't need to have all the doublespeak of the MS database, and could have shorter entries with detailed entries on how-to-reproduce, products affected, etc...

    MS refuses to classify anything as a "bug" -- they are become 'knowledge base articles", it seems. Or, as in this case, "features".

    I have a strong feeling that their reported bug statistics are heavily "padded" (or unpadded as the case may be). The external database wouldn't have to have every single incident MS records, but at least it could contain every bug that MS refuses to publish on their website and everything that is really a "bug" - no matter what "newspeak" they use to classify it.

    I have a strong feeling that their number of bugs reported in products and security flaws would grow alot larger than the official MS stats.

    I know some of this is done in external security-bug databases, bug, especially, exploitable-security related bugs don't end up there.

    _Maybe_, the external bug database would only hold the bugs that MS "ignores" or refuses to acknowledge. Might be too much work - but would probably provide a good "black-eye" for MS when the number of REAL bugs accumulates beyond all their previous published figures.... Nice personal fantasy - as I've had some bugs that existed for, literally, _years_, that might have been solvable by reformatting and reinstalling, but I had alot of software and customizations that had accumulated over the years that I didn't want to reinstall or reproduce. The bug was brought on by installing a MS-critical security fix. It only went away when I got a new computer with a new OS. What a *pain*!

  108. When crashes become vulnerabilities by Anonymous Coward · · Score: 0
    Looking back a Microsoft's trackrecord, there are several examples of how seemingly denial of service conditions (application crashes) have been escalated to exploitable vulnerabilities.

    For example, CVE-2006-3648 and Exploiting the Otherwise Non-exploitable on Windows details how MS exeption handling in Internet Explorer can be exploited. Why should I have faith that the effects of this crash are not exploitable as well.

    Additionally, just because something was initially reported as a crash, does not mean researchers won't find a way to later exploit it. Again, visiting the MS IE browser: Javascript window() issue in IE was publicly reported as a DoS in May 2005 and was ignored, until being reported as exploitable in November 2005. Why could not the same thing happen here?

    Oh, I get it, Mr. LeBlanc at MS wants to tout his SafeInt class... well, being Office is closed source, vulnerability researchers cannot really examine this "security feature". I guess this offers MS a safety net to claim that these "features" are "3... meant it to blow up, and [are] clearly not exploitable", while protecting themselves from the vulnerability community finding exploitable flaws in the SafeInt code.

  109. Clueless. by LWATCDR · · Score: 1

    Microsoft's sucess has never been about producing the best software. Microsoft is biased on making the right deal at the right time and inertia. You could produce the best OS or Office suit on the planet and not beat Microsoft.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  110. Effects of bugs on Ballmer's mood. by Anonymous Coward · · Score: 0

    Well, I'd better rephrase it:
    Monkeyboy couldn't care less about bugs, he's
    only mad at people knwing about them :-D
    Now, about those effects:

    http://punto-informatico.it/pm.aspx?id=1957568&m_i d=1957779&r=PI
    (it's about the recent Win2000/2003 DNS vulnerability)

    Translation of the italian captions:
    "Before discovery of the vulnerability"
    "After the feral news (note the despair)"

  111. Good Boss by bill_mcgonigle · · Score: 1

    If one of my web-based administrative applications decided to throw a 500 Internal Server Error in the user's face if they wrote a to-date that was before the from-date (instead of redisplaying the form with an understandable error message), I would be out of a job.

    Be happy you have a boss who cares about quality. Lots of Slashdotters are working for folks who say if they don't get the next feature out the door by Friday (damn the torpedoes) then they're out of a job.

    I guess at Microsoft they say, "If you don't get this product shipped within five years of your ship date you're out of a job!" and, you know, that can be pretty stressful for Microsofties.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  112. typo by qualidafial · · Score: 1

    s/hear/here/