Slashdot Mirror


Remote Exploit Discovered for OpenBSD

An anonymous reader writes "OpenBSD is known for its security policies, and for its boast of "only one remote exploit in over 10 years". Well, make that two, because Core Security has found a remotely exploitable buffer overflow in the OpenBSD kernel. Upgrade your firewalls as soon as possible."

338 comments

  1. Moo by Chacham · · Score: 0, Offtopic

    See! I told you ipv6 was evil!

    An IP for everyone. Bah!

    1. Re:Moo by noz · · Score: 4, Funny

      See! I told you ipv6 was evil!
      You mean ipv666 don't you?
    2. Re:Moo by BrainInAJar · · Score: 3, Funny

      An IP for everyone. Bah!

      why, That's Communism!

    3. Re:Moo by HansF · · Score: 1

      Ipv4 was about 0.71 address per person, ipv6 is more like 47000 ip's per person.

      --
      --> Insert Funny Sig Here
    4. Re:Moo by Zonk+(troll) · · Score: 1

      You mean ipv666 don't you? You mean ipv616 don't you?
      --
      "The Federal Reserve is a fraudulent system."--Lew Rockwell
      End The FED. -
  2. WHOA WTF by inode_buddha · · Score: 2, Funny

    freakin rare event, hell must have frozen over! /me takes a snapshot of the moment and feels badly for all the BSD-folk

    --
    C|N>K
    1. Re:WHOA WTF by Anonymous Coward · · Score: 1, Funny

      /me takes a snapshot of the moment and feels badly for all the BSD-folk

      Yeah, us BSD folks are horrified when a bug is found. You Linux pups seem to think bugs are normal events.

      (Yeah, I'm trolling, which is why this is anonymous.)

    2. Re:WHOA WTF by Anonymous Coward · · Score: 0

      I would've posted that with a username. Even being a "linux pup".

      (I like BSD, too. (This is anon because it's pointless.))

    3. Re:WHOA WTF by Anonymous Coward · · Score: 0

      freakin rare event, hell must have frozen over! I'm surprised that it took this long. After all, the Red Sox won the world series almost two and a half years ago.
    4. Re:WHOA WTF by The+Mad+Debugger · · Score: 1

      Good thing we'll have Google Earth to show us the apocalpyse in progress.

    5. Re:WHOA WTF by Anonymous Coward · · Score: 0

      Naw. It, rightfully, got modded down. My karma remains in tact.

    6. Re:WHOA WTF by Curtman · · Score: 3, Interesting

      You Linux pups seem to think bugs are normal events.

      When was the last time a remote root exploit was found in the Linux kernel?
    7. Re:WHOA WTF by packeteer · · Score: 1

      If there was never any exploits found THEN you should worry. If nobody is finding anything you can guess that nobody is looking hard. If you find them every now and then but rarely it says that as we have known for a long time, nothing is perfect, and yet this OS is almost perfect. One of the main reasons for things like BSD being so secure is the fact that people are checking for exploits even though people are quite confident there are none.

      --
      unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep
    8. Re:WHOA WTF by Anonymous Coward · · Score: 0

      Although there is no *remote* exploit in the Linux *kernel*, there is a distribution that has a remote root exploit.
      http://www.debian.org/News/2006/20060713.en.html

    9. Re:WHOA WTF by Anonymous Coward · · Score: 0

      And windows just has a flawless remote execution record, doesn't it? :) I mean, obviously; microsoft has never had any problems that they needed to patch....

    10. Re:WHOA WTF by Curtman · · Score: 2, Interesting

      there is a distribution that has a remote root exploit

      Nope. I think you meant to say: Had a local root exploit.
    11. Re:WHOA WTF by Anonymous Coward · · Score: 0

      An old phrase says "You won't have mod points when you need them the most". I love you.

    12. Re:WHOA WTF by Misch · · Score: 3, Funny

      It was 81 degrees F in New Jersey yesterday, so hell didn't freeze over.

      --

      --You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
    13. Re:WHOA WTF by br0k_sams0n · · Score: 1, Insightful

      The argument that the OS is more secure would carry a bit more weight if the OpenBSD team didn't blatantly try to deny that this was a vulnerability as the release states. If you buy the release, Core made them look pretty bad, as if they just dismissed the disclosure effectively saying "we don't think that's a problem". When they did that, Core dropped it right on them, then they reacted. If the team were as security conscious as you claim, they wouldn't have simply dismissed it and would have given the issue more serious consideration. I've always thought of the BSDs (Net and Open anyway) as a smaller attack vector, nothing inherently more secure. They don't have a monopoly on smart developers and all humans make mistakes.

    14. Re:WHOA WTF by raddan · · Score: 1

      Last remote root vulnerability for Linux. Note that, like the OpenBSD advisory, there are currently no known exploits. The OpenBSD bug was found by OpenBSD's own developers.

    15. Re:WHOA WTF by Chris+Burke · · Score: 3, Informative

      If the team were as security conscious as you claim, they wouldn't have simply dismissed it and would have given the issue more serious consideration.

      They didn't simply dismiss it. They fixed the bug. At that point the question of how severe the vulnerability is only affects how critical getting the patch for the bug is. Being security conscious, they don't want to push out a patch without sufficient testing -- possibly causing new vulnerabilities -- unless they have to. When shown that the issue was in fact a remote exploit, they did not dismiss the issue then either, they upgraded the status of the issue and marked the patch as urgent.

      All of this is perfectly consistent with security consciousness.

      A team which does not take security seriously would have denied that there was a bug at all, would not have the fix, and would have found a way to claim that despite being shown exploit code for a remote vulnerability, it wasn't in fact a big deal. But that isn't what happened.

      I've always thought of the BSDs (Net and Open anyway) as a smaller attack vector, nothing inherently more secure. They don't have a monopoly on smart developers and all humans make mistakes.

      It is foolish to think that because all humans make mistakes, all humans make the same number and severity of mistakes, and have the same methods of identifying and correcting mistakes. For the same reason, it is foolish to think that because all software has bugs, that all software is equally buggy and the bugs are of equal severity. It is the attention payed to security, the methodologies of writing secure code, that help prevent bugs and make code that is truly inherently more secure.

      OpenBSD gets a lot of scrutiny in the security world exactly for the reason that people deploy it because of its security. It may be a smaller attack vector due to market share, and due to it being harder to crack than what your typical army of script kiddies can handle. This does not mean it is not thoroughly poked and prodded by experts, nor does it mean that inherently superior security is an illusion.

      --

      The enemies of Democracy are
    16. Re:WHOA WTF by HAKdragon · · Score: 1

      I could mention that in northeast Ohio, it was in the 60s for the last two days and today there are snow storms. Then I remembered it's NE Ohio, so it's business as usual.

      --
      "Our opponent is an alien starship packed with atomic bombs. We have a protractor."
    17. Re:WHOA WTF by Anonymous Coward · · Score: 0

      The OpenBSD bug was found by OpenBSD's own developers

      It would have to be. Nobody else uses OpenBSD anymore.

      Har har har.
    18. Re:WHOA WTF by iamstretchypanda · · Score: 1

      Jeez.. I'm glad people can't go anonymous in the real world.

      "But Your Honor, I checked the Anonymous box before i killed him... You can't punish me now"

      Karma is a silly concept :p.

    19. Re:WHOA WTF by raddan · · Score: 1

      I know you're kidding, but we actually have a rather sizeable installation here, installed in devices ranging from low-power communications controllers all the way up to dual Opterons with large disk arrays. OpenBSD has slowly replaced most of our Windows Server boxes, because it "just works".

  3. Heh by cyberbob2351 · · Score: 5, Funny
    From TFA:

    Remotely Exploitable: Yes
    Locally Exploitable: No
    That right there is the biggest slap in the face! Everyone should have the freedom to fux0r their own machine!

    Opensource my ass...
    --
    for sale
    I'm a self-modifying sig virus
    1. Re:Heh by Anonymous Coward · · Score: 0

      ohhh and yet another slap:
      http://www.privasectech.com/?p=3

    2. Re:Heh by ArsenneLupin · · Score: 1

      Default install means you havent installed any other programs or applications that can be connected to over the Internet; if you have, this no longer applies. Who doesnt install a mail tranfer agent (MTA) like postfix And that, my friend, is the problem. The daemon is of course much more cozy with sendmail than it is with postfix!

    3. Re:Heh by bean123456789 · · Score: 2, Funny

      Opensource my ass...

      I believe I speak for everybody when I say no.

    4. Re:Heh by Craig+Davison · · Score: 1

      A "local exploit" is one that elevates a process running as a local, unprivileged user, to root. Say there's an exploit for apache that lets you run arbitrary code as the 'nobody' user. If you combine that with a local root exploit, you have remote root.

      (I know you were joking, but I wanted to explain that)

  4. Well done, the OpenBSD team. by Anonymous Coward · · Score: 5, Insightful

    Well done. It's not an easy feat to create an OS with so little exploits. The team and Microsoft should take a leaf out of your book.

    1. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 4, Insightful

      You think the problem is that Microsoft can't create a secure OS? You don't think the problem is all the legacy crap, and the everything under the sun and everything to everyone demands placed upon it? Not that what OpenBSD has achieved as a track record isn't impressive. But serving one master (of one's own choosing) well, it not the same thing as being the most favored servent to the most masters.

    2. Re:Well done, the OpenBSD team. by Kandenshi · · Score: 5, Insightful

      I heard a rumour that Microsoft did indeed look to the idea of emulating OpenBSD's security practices as a company.

      Then someone pointed out the respective revenues of OpenBSD vs Microsoft, and the whole idea just seemed to evaporate.

      Someone decided that people don't care enough about the number of remote exploits found in a given OS. They were probably right.

    3. Re:Well done, the OpenBSD team. by Leto-II · · Score: 5, Funny

      Could this be a sign of overconfidence in the Linux community?


      Not really, since this has nothing to do with Linux. It's OpenBSD, not Linux.
      --
      Do not anger the worm.
    4. Re:Well done, the OpenBSD team. by EvanED · · Score: 0, Redundant

      Could this be a sign of overconfidence in the Linux community?

      Nope.

      Now, it might be a sign of overconfidence in the BSD community...

      (But in reality almost everyone has had moments like this.)

    5. Re:Well done, the OpenBSD team. by drsmithy · · Score: 3, Insightful

      Well done. It's not an easy feat to create an OS with so little exploits. The team and Microsoft should take a leaf out of your book.

      It is when basically the only thing your OS does "in the default install" is allow SSH logins.

      (Which is not to attack the excellent work of the OpenBSD team, but comparing it to Windows is in this fashion is just asinine.)

    6. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0

      Not surprising, just difficult, and platform specific I would imagine.

    7. Re:Well done, the OpenBSD team. by init100 · · Score: 1

      I've seen people more than once that believe that OpenBSD is a Linux distribution.

    8. Re:Well done, the OpenBSD team. by VGPowerlord · · Score: 2, Funny

      The team and Microsoft should take a leaf out of your book.

      What team, the A Team? Should take out Microsoft?

      I love it when a plan comes together.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    9. Re:Well done, the OpenBSD team. by TheDarkener · · Score: 2, Funny

      ...Microsoft should take a leaf out of your book.
       
      Uhh, they did. TCP/IP stack.
       
      Of course, you can't ever say a leaf made the tree...

      --
      It is pitch black. You are likely to be eaten by a grue.
    10. Re:Well done, the OpenBSD team. by Tom · · Score: 5, Funny

      It is when basically the only thing your OS does "in the default install" is allow SSH logins. Which is more remote access than a default install of Windos contains. ;-)

      Ok, make that "more intentional remote access"...
      --
      Assorted stuff I do sometimes: Lemuria.org
    11. Re:Well done, the OpenBSD team. by toadlife · · Score: 2, Informative

      It's very common. Many people also think OSX is based on Linux.

      I'll even admit when I tried Linux for the first time ~1997, of the first "Linux distros" I tried was FreeBSD. I had no idea.

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    12. Re:Well done, the OpenBSD team. by Richard_at_work · · Score: 4, Insightful

      The default install of OpenBSD includes (from memory, so this is not exhaustive) SSHd, bind, apache and sendmail, all of which are included in the term 'Only two remote holes in the default install' - those codebases are as rigourously audited as anything else.

    13. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0

      NO IT DOESN'T.

      besides which apache and sendmail alone would blow that out of the water as each has had many remote exploits int he past 10 years. OpenBSD does not do anything as stupid as install a web server by default.

    14. Re:Well done, the OpenBSD team. by drsmithy · · Score: 2, Insightful

      The default install of OpenBSD includes (from memory, so this is not exhaustive) SSHd, bind, apache and sendmail, all of which are included in the term 'Only two remote holes in the default install' [...]

      They're "included" in that the binaries are there, but they are not enabled (except SSH). Ie: they're not part of "the default install" as far as remote vulnerabilities goes.

    15. Re:Well done, the OpenBSD team. by ArsenneLupin · · Score: 1

      I've seen people more than once that believe that OpenBSD is a Linux distribution. And they also mistook the daemon for a penguin? And called him Silo instead of Beastie?
    16. Re:Well done, the OpenBSD team. by Braino420 · · Score: 1

      (Which is not to attack the excellent work of the OpenBSD team, but comparing it to Windows is in this fashion is just asinine.)
      What exactly is it that you're implying here? That Windows has more services listening by default? Mind naming a few?
      --
      They call me the wookie man, I guess that's what I am
    17. Re:Well done, the OpenBSD team. by TheRaven64 · · Score: 4, Insightful
      The thing is, it doesn't matter. The OpenBSD folk treat pretty much every bug as a security hole. I heard one of them say this, which I think should be taken to heart by all software developers:

      The only difference between a bug and a security hole is the intelligence of the attacker. As such, the hole was patched when they thought it was just a DoS. All escalating it does is encourage admins not to actually apply the patches.
      --
      I am TheRaven on Soylent News
    18. Re:Well done, the OpenBSD team. by TheRaven64 · · Score: 5, Informative
      Note that many Sendmail and Apache exploits do not affect OpenBSD, for two reasons:
      1. The kernel contains a lot of exploit mitigation stuff, that may well turn an arbitrary code execution into a DoS.
      2. OpenBSD doesn't actually include Sendmail or Apache, it includes forks of both. These are heavily audited by the OpenBSD guys, and not all of the changes are merged upstream.
      When a new category of bug is found in OpenBSD, the entire tree is searched for occurrences of it. This often means that seemingly innocuous changes in something like OpenBSD's httpd turn out to have fixed things that are later found to be security holes.

      --
      I am TheRaven on Soylent News
    19. Re:Well done, the OpenBSD team. by Richard_at_work · · Score: 1

      They are actually deemed part of 'the default install' - otherwise the term would be 'the default configuration', which it isnt. Even SSH is not explicitly enabled on install, you have to answer a question during install to enable it.

    20. Re:Well done, the OpenBSD team. by Richard_at_work · · Score: 1
      Well in that case, I must be imagining the following files:
      • /usr/sbin/httpd
      • /usr/sbin/sendmail
      • /usr/sbin/named
    21. Re:Well done, the OpenBSD team. by golgotha007 · · Score: 1, Interesting

      I'm curious about something.

      Other than kernel 2.0.x (10+ years ago), has Linux ever had a kernel bug that was exploitable remotely?

    22. Re:Well done, the OpenBSD team. by tomstdenis · · Score: 1, Insightful

      Not all bugs are security holes. Bugs could be as simple as formatting errors. Or say not matching test vectors.

      Personally though, in professional code, bugs are failures. That we tolerate them as a society is nice and all, but in all honesty they're not really acceptable. Which is generally why it's a smart idea to give your customers test code to toy with before the delivery date. That way hopefully they can spot some bugs to report (it also gives them a chance to ramp up earlier on the software so it's win-win).

      In the case of OSS, I can see the guidelines being a bit more lax in certain projects (not OSes though) as resources are limited. If some handy perl script has a typo in the command line parser and I need to specify "--demon" instead of "--daemon" it's a bug, but not the end of the world, etc...

      That the OpenBSD team treats the bug reports with such speed is a sign of professionalism. Kudos to them even if I still run Linux (hehehe).

      --
      Someday, I'll have a real sig.
    23. Re:Well done, the OpenBSD team. by pathological+liar · · Score: 1

      I should hope not, otherwise their security claim is factually incorrect: both OpenSSH and Apache have had remote-root flaws in the past 10 years that are exploitable on OpenBSD.

      It's a silly distinction to make anyway. There have been multiple local kernel exploits in the past 10 years, and there have been plenty of remote exploits that will give you an 'unprivileged' account. Combine the two and you suddenly have a remote exploit that gets you root. Those don't get counted though.

      OpenBSD - Security through self-delusion.

    24. Re:Well done, the OpenBSD team. by Himring · · Score: 1

      uh huh

      Or should I say, "chink!"

      --
      "All great things are simple & expressed in a single word: freedom, justice, honor, duty, mercy, hope." --Churchill
    25. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0

      yes

    26. Re:Well done, the OpenBSD team. by Just+Some+Guy · · Score: 5, Insightful

      I heard a rumour that Microsoft did indeed look to the idea of emulating OpenBSD's security practices as a company.

      Then someone pointed out the respective revenues of OpenBSD vs Microsoft, and the whole idea just seemed to evaporate.

      My company makes far more than the OpenBSD team brings in, and yet we still respect them and try to emulate their practices. I'm not sure what kind of hubris it takes to dismiss someone's ideas just because you have more money.

      --
      Dewey, what part of this looks like authorities should be involved?
    27. Re:Well done, the OpenBSD team. by filterchild · · Score: 1

      This actually bring up an interesting point. If this vulnerability exists (well, existed) in OpenBSD and Microsoft stole the TCP/IP stack, doesn't Windows have the same flaw?

    28. Re:Well done, the OpenBSD team. by LousyPhreak · · Score: 1

      nope. microsoft used the ipv4 stack and at least since xp they roll their own (not sure which version it was) and this vulnerability just affects the ipv6 stack

      --
      -- Karma: beyond good and evil - mostly affected by posting political
    29. Re:Well done, the OpenBSD team. by ajs318 · · Score: 1

      Yes, and that's why neither OpenBSD nor Linux will ever have a stable kernel ABI.

      --
      Je fume. Tu fumes. Nous fûmes!
    30. Re:Well done, the OpenBSD team. by hattmoward · · Score: 2, Interesting

      Did you know that systems like POSIX ACLs and SELinux work while maintaining compatibility with software written before these systems were implemented? And that the basic Unix-like environment, although there have been quirks going from vendor to vendor, has remained basically the same for users and developers alike for years? Microsoft has had trouble locking down Windows not because of backward compatibility, but the users. Not only does OpenBSD choose, as you say, who their software targets, but they already have a fairly security-aware group using their software. But sometimes it's time for mommy to put you in the highchair and force-feed you. Some major security features added to Windows Vista are their attempt to do exactly that, though we'll leave the discussion on the merit of those features for another post.

    31. Re:Well done, the OpenBSD team. by Chris+Burke · · Score: 2, Insightful

      I'm not sure what kind of hubris it takes to dismiss someone's ideas just because you have more money.

      It's not hubris, exactly. It's a matter of values. If what you value above all else is money, then the fact that they have less money -- compared to MS, they are effectively penniless -- means that their ideas are not important to you, even if technically good ideas. They won't help you get more money, ergo what you are doing is better than what they are doing.

      Your company values things other than money, so you copy good practices even if they aren't going to earn you more money.

      Though I think it is fairly simple to concoct a scenario where in the long term it does cost money not to adopt good practices -- such as losing marketshare because of security problems. Short sightedness is also a problem people who value only money often have, at least the ones running publicly traded corporations.

      --

      The enemies of Democracy are
    32. Re:Well done, the OpenBSD team. by Just+Some+Guy · · Score: 2, Insightful

      Your company values things other than money, so you copy good practices even if they aren't going to earn you more money.

      My company values money an awful lot - it makes staying in business a bit easier. It's just that we take the long term view. Doing these things gives us a better reputation, which is critically important in our niche market. It also means fewer 2AM emergencies and easier maintenance. Basically, we've decided that OpenBSD's values are very profitable, even if they don't choose to directly financially profit from them.

      --
      Dewey, what part of this looks like authorities should be involved?
    33. Re:Well done, the OpenBSD team. by Leto-II · · Score: 2, Informative

      Other than kernel 2.0.x (10+ years ago), has Linux ever had a kernel bug that was exploitable remotely?


      A quick search turns up this from just last May:

      http://www.frsirt.com/english/advisories/2006/1916
      --
      Do not anger the worm.
    34. Re:Well done, the OpenBSD team. by Leto-II · · Score: 1

      And another one from December.

      --
      Do not anger the worm.
    35. Re:Well done, the OpenBSD team. by yo_tuco · · Score: 1

      "I've seen people more than once that believe that OpenBSD is a Linux distribution."

      But, oh, the shame if anyone here on /. believes this.

    36. Re:Well done, the OpenBSD team. by andyross · · Score: 1

      The OpenBSD folk treat pretty much every bug as a security hole.

      Unfortunately, that wasn't the case this time. As detaild in the advisory from CoreLabs, in fact, the OpenBSD folk refused to term this as anything but a denial of service issue and issued the patch as a "reliability fix" instead of a "security fix". This was done even after Core had provided proof-of-concept exploit code to the OpenBSD team. It wasn't until several days later that the proper categorization was done.

      Now, maybe Core is spinning things innappropriately. And maybe the OpenBSD folks will want to correct the record. But right now, this doesn't look good at all...

    37. Re:Well done, the OpenBSD team. by peacefinder · · Score: 1

      "Of course, you can't ever say a leaf made the tree..."

      It did, however, require a lone nut.

      --
      With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
    38. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0
      "I should hope not, otherwise their security claim is factually incorrect: both OpenSSH and Apache have had remote-root flaws in the past 10 years that are exploitable on OpenBSD."

      Ah, no actually, that claim on their page is a statement of fact. And this INCLUDES the fact that within the last 10 years (almost 8 of which I have been using OpenBSD), OpenSSH was installed and enabled for remote access, by default. And considering that, it is still a statement of fact.

      That "one remote hole", refers to the OpenSSH vulnerability.


      "It's a silly distinction to make anyway. There have been multiple local kernel exploits in the past 10 years, and there have been plenty of remote exploits that will give you an 'unprivileged' account. Combine the two and you suddenly have a remote exploit that gets you root. Those don't get counted though."

      Regarding your assertion of non-root remote exploits, please prove that.


      "OpenBSD - Security through self-delusion."

      I see you are living up to your /. user name well.



      BTW, OpenBSD's Apache is NOT the same as the Apache everyone else uses. Last count of the differences that I saw, were in the 10's of thousands of lines of code which OpenBSD modified as a result of on-going audits to the Apache THEY maintain. You clearly do not know about OpenBSD well enough to comment, so please don't. You are not helping anyone.

    39. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0

      Thank you TheRaven64. It is nice to see that there are still some users of slashdot who are informed.

      "These are heavily audited by the OpenBSD guys, and not all of the changes are merged upstream."

      Sometimes this means that "not all of the changes are accepted upstream".

    40. Re:Well done, the OpenBSD team. by Chandon+Seldon · · Score: 1

      The OpenBSD guys have put a lot of effort into techniques that make exploiting exploits harder. On OpenBSD, (any remote exploit) + (any local root exploit) does not equal a remote root exploit.

      It's true enough that "remote root exploits in the default install" is an arbitrary metric, but the fact of the matter is that OpenBSD is the closest thing to a secure general purpose operating system that exists today.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    41. Re:Well done, the OpenBSD team. by aliquis · · Score: 1

      Thought of course apache isn't enabled, bind either (?) and sendmail only run locally by default...

      Pretty lame to only count remote exploits and non of the ones there the user start an application (such as a browser) either. The fact that openbsd have had only two remote exploits in 10 years doesn't say shit about it's security in reality, even thought it's probably better than many other oses in reality aswell.

    42. Re:Well done, the OpenBSD team. by aliquis · · Score: 2, Informative

      No, not "any" exploit, but people who know what they do can still exploit it so why does it matter?

      Also (atleast a few years ago) I've got the impression there are patches for Linux which does the same + more, and what about say trusted Solaris or similair? Are OpenBSD really better than those? Sure it might be a little more secure / security advanced than say FreeBSD for example, but I would still rather run FreeBSD for other reasons.

    43. Re:Well done, the OpenBSD team. by Anonymous Coward · · Score: 0
      "The fact that openbsd have had only two remote exploits in 10 years doesn't say shit about it's security in reality"


      The "Only two remote holes in the default install, in more than 10 years!" boast, goes with the "secure by default" project goal. It reflects the attitude of the project.

      The typical OpenBSD user, is not stupid enough to believe that boast is a measurement of security.

    44. Re:Well done, the OpenBSD team. by Chandon+Seldon · · Score: 1

      I've got the impression there are patches for Linux which does the same + more, and what about say trusted Solaris or similair? Are OpenBSD really better than those?

      You can't patch in security, nor do you get it simply by complying with some FIPS standard.

      Linux is maintained optimizing for features. If you want support for every USB scanner and 15 different file systems, Linux has that. Security and stability are sacrificed, but not too much.

      FreeBSD is maintained largely for performance. Security and features are sacrificed, but not too much. It probably won't support your digital camera or encrypted HFS-Formatted USB key.

      OpenBSD is maintained for security. Performance and features are sacrificed, and you'll notice if you try to use it. Stability and security are synergistic, so OpenBSD is rock solid. For some applications (network appliances and hardened servers), stability and security are strictly more important than performance or features. In those cases, OpenBSD is the obvious choice.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
  5. It's a feature by andy314159pi · · Score: 4, Funny

    Vulnerability Description
    The OpenBSD kernel contains a memory corruption vulnerability in the code that handles IPv6 packets. Exploitation of this vulnerability can result in:
    1) Remote execution of arbitrary code at the kernel level on the vulnerable systems (complete system compromise), or;
    2) Remote denial of service attacks against vulnerable systems (system crash due to a kernel panic)

    I think they just found the Windows2003 Server Emulator.
    1. Re:It's a feature by ArsenneLupin · · Score: 4, Informative

      I think they just found the Windows2003 Server Emulator. Joking aside, finding a bug in BSD networking code could indeed mean that various Windows versions have that very same bug. Hats, to your keyboards!
    2. Re:It's a feature by TheRaven64 · · Score: 2, Insightful

      Not in this case. This was a bug in the IPv6 code, which comes from the KAME project. The BSD TCP/IP stack used by some versions of Windows comes from the 4BSD series, pre-dating KAME (and IPv6 in general) by quite some years.

      --
      I am TheRaven on Soylent News
  6. Some amusing interchanges b/t OpenBSD and CoreLabs by Anonymous Coward · · Score: 2, Interesting

    * 2007-02-20: First notification sent by Core.
    * 2007-02-20: Acknowledgement of first notification received from the OpenBSD team.
    * 2007-02-21: Core sends draft advisory and proof of concept code that demonstrates remote kernel panic.
    * 2007-02-26: OpenBSD team develops a fix and commits it to the HEAD branch of source tree.
    * 2007-02-26: OpenBSD team communicates that the issue is specific to OpenBSD. OpenBSD no longer uses the term "vulnerability" when referring to bugs that lead to a remote denial of service attack, as opposed to bugs that lead to remote control of vulnerable systems to avoid oversimplifying ("pablumfication") the use of the term.
    * 2007-02-26: Core email sent to OpenBSD team explaining that Core considers a remote denial of service a security issue and therefore does use the term "vulnerability" to refer to it and that although remote code execution could not be proved in this specific case, the possibility should not be discarded. Core requests details about the bug and if possible an analysis of why the OpenBSD team may or may not consider the bug exploitable for remote code execution.
    * 2007-02-28: OpenBSD team indicates that the bug results in corruption of mbuf chains and that only IPv6 code uses that mbuf code, there is no user data in the mbuf header fields that become corrupted and it would be surprising to be able to run arbitrary code using a bug so deep in the mbuf code. The bug simply leads to corruption of the mbuf chain.
    * 2007-03-05: Core develops proof of concept code that demonstrates remote code execution in the kernel context by exploiting the mbuf overflow.
    * 2007-03-05: OpenBSD team notified of PoC availability.
    * 2007-03-07: OpenBSD team commits fix to OpenBSD 4.0 and 3.9 source tree branches and releases a "reliability fix" notice on the project's website.
    * 2007-03-08: Core sends final draft advisory to OpenBSD requesting comments and official vendor fix/patch information.
    * * 2007-03-09: OpenBSD team changes notice on the project's website to "security fix" and indicates that Core's advisory should reflect the requirement of IPv6 connectivity for a successful attack from outside of the local network.
    * 2007-03-12: Advisory updates with fix and workaround information and with IPv6 connectivity comments from OpenBSD team. The "vendors contacted" section of the advisory is adjusted to reflect more accurately the nature of the communications with the OpenBSD team regarding this issue.
    * 2007-03-12: Workaround recommendations revisited. It is not yet conclusive that the "scrub in inet6" directive will prevent exploitation. It effectively stops the bug from triggering according to Core's tests but OpenBSD's source code inspection does not provide a clear understanding of why that happens. It could just be that the attack traffic is malformed in some other way that is not meaningful for exploiting the vulnerability (an error in the exploit code rather than an effective workaround?). The "scrub" workaround recommendation is removed from the advisory as precaution.
    * 2007-03-13: Core releases this advisory.



    Got owned, OpenBSD? /I kid I kid

  7. That's a relief by Anonymous Coward · · Score: 0, Funny


    haha
    luckily i'am running Windows so no remote exploits for me, take that OpenBSD !!!1@#x"3eleventy !

  8. Advisory Timeline by fv · · Score: 4, Interesting

    I'm a bit surprised that the summary didn't mention the rather interesting timeline in the Core advisory, which implies an attempted cover up. I don't know all the facts, so I'll let the document speak for itself:

    • 2007-02-20: First notification sent by Core.
    • 2007-02-20: Acknowledgement of first notification received from the OpenBSD team.
    • 2007-02-21: Core sends draft advisory and proof of concept code that demonstrates remote kernel panic.
    • 2007-02-26: OpenBSD team develops a fix and commits it to the HEAD branch of source tree.
    • 2007-02-26: OpenBSD team communicates that the issue is specific to OpenBSD. OpenBSD no longer uses the term "vulnerability" when referring to bugs that lead to a remote denial of service attack, as opposed to bugs that lead to remote control of vulnerable systems to avoid oversimplifying ("pablumfication") the use of the term.
    • 2007-02-26: Core email sent to OpenBSD team explaining that Core considers a remote denial of service a security issue and therefore does use the term "vulnerability" to refer to it and that although remote code execution could not be proved in this specific case, the possibility should not be discarded. Core requests details about the bug and if possible an analysis of why the OpenBSD team may or may not consider the bug exploitable for remote code execution.
    • 2007-02-28: OpenBSD team indicates that the bug results in corruption of mbuf chains and that only IPv6 code uses that mbuf code, there is no user data in the mbuf header fields that become corrupted and it would be surprising to be able to run arbitrary code using a bug so deep in the mbuf code. The bug simply leads to corruption of the mbuf chain.
    • 2007-03-05: Core develops proof of concept code that demonstrates remote code execution in the kernel context by exploiting the mbuf overflow.
    • 2007-03-05: OpenBSD team notified of PoC availability.
    • 2007-03-07: OpenBSD team commits fix to OpenBSD 4.0 and 3.9 source tree branches and releases a "reliability fix" notice on the project's website.
    • 2007-03-08: Core sends final draft advisory to OpenBSD requesting comments and official vendor fix/patch information.
    • 2007-03-09: OpenBSD team changes notice on the project's website to "security fix" and indicates that Core's advisory should reflect the requirement of IPv6 connectivity for a successful attack from outside of the local network. 2007-03-12: Advisory updates with fix and workaround information and with IPv6 connectivity comments from OpenBSD team. The "vendors contacted" section of the advisory is adjusted to reflect more accurately the nature of the communications with the OpenBSD team regarding this issue.
    • 2007-03-12: Workaround recommendations revisited. It is not yet conclusive that the "scrub in inet6" directive will prevent exploitation. It effectively stops the bug from triggering according to Core's tests but OpenBSD's source code inspection does not provide a clear understanding of why that happens. It could just be that the attack traffic is malformed in some other way that is not meaningful for exploiting the vulnerability (an error in the exploit code rather than an effective workaround?). The "scrub" workaround recommendation is removed from the advisory as precaution.
    • 2007-03-13: Core releases this advisory.

    -Fyodor
    Insecure.Org

    1. Re:Advisory Timeline by evilviper · · Score: 5, Interesting

      which implies an attempted cover up.

      Cover up? The OpenBSD team believed it was only a remote DoS vulnerability until proof of concept code was provided, and re-labeled it as such immediately.

      What part seems suspicious to you?
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:Advisory Timeline by LordEd · · Score: 1

      I wouldn't call it a cover up. I would say its a case of overconfidence. They didn't accept the fact that the buffer overflow was dangerous beyond a denial of service attack until it was proven to them. A denial of service attack in itself is more of a nuisance than a security risk.

    3. Re:Advisory Timeline by jallen02 · · Score: 1

      The whole remote kernel panics aren't "vulnerabilities" thing goes counter to how the entire software industry classifies security bugs.

    4. Re:Advisory Timeline by Anonymous Coward · · Score: 0, Insightful

      Hiya, Fyodor.

      Why is your sig not a sig?

    5. Re:Advisory Timeline by Anonymous Coward · · Score: 1

      I am not the GP, but ... remote DoS is not considered as a "vulnerability"!?

      If this is not giving new meaning to old words, I do not know what is. The only reason for this I can think is cover up.

    6. Re:Advisory Timeline by Secret+Rabbit · · Score: 3, Insightful

      I think you're reading too much into things. It's FAR more likely that the OBSD team has become somewhat overconfidenct in there code. As such, since remote exploit wasn't shown and was unlikely, they dismissed that.

      But, cover up? Yah right. Please, note that the OBSD team NEVER denied that a problem existed. They fixed it. It was only the wording that was in contest until remote execution was shown and they verified it.

    7. Re:Advisory Timeline by Secret+Rabbit · · Score: 2, Informative

      LOL. So, then the OpenBSD team isn't part of the software industry?

      Because, they've never come up with anything security wise:

      http://en.wikipedia.org/wiki/OpenBSD_security_feat ures

      Not at all.

    8. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      A denial of service is not a security concern dipshit, it's a reliability concern. Until it was proven to be anything other than a reliability issue it is muddying the the definition of what a vulnerability is to classify the issue as one. Fuck, you'd think this, "pablumfication," bit would sink in at some level.

    9. Re:Advisory Timeline by fv · · Score: 4, Informative

      I wouldn't call it a cover up. I would say its a case of overconfidence.

      That could be. And don't get me wrong -- I'm a big OpenBSD fan and even have one of their posters framed and hanging in my home. But I think they could have handled this better. Given that security is their main selling point, I'd like to see the OpenBSD guys treat all buffer overflows as potentially exploitable. In this case, it appears that the fix to 3.9 and 4.0 branches was delayed for an extra week until Core produced a working remote root exploit. The problem with requiring a working exploit from bug reporters is that most of them lack the ability or inclination (or both) to produce one. This bug just happened to be reported by some of the best exploit writers in the world.

      Also, even if the bug did only allow anyone to cause remote kernel panic on your OpenBSD firewall or server with a single packet, that is still a security vulnerability. They can call it a DoS vulnerability if they are sure one cannot lead to code execution.

      -Fyodor

    10. Re:Advisory Timeline by QuantumG · · Score: 1

      Go read a book, take a class or borrow a clue about security.

      --
      How we know is more important than what we know.
    11. Re:Advisory Timeline by Anonymous Coward · · Score: 1, Informative

      Your link does not once say that a denial of service effects the security of a system, in fact, by definition a denial of service denies access to the service, it does not compramise it. If the shit ain't being broken into, it's not a security issue, get a clue, read abook, take a class, or maybe reason shit out your own damn self using simple logic.

    12. Re:Advisory Timeline by QuantumG · · Score: 1

      Availability is a key facet of security. There's no fuckin' point having a "secure" system which you can't even use.

      You really look like an idiot debating this.

      And I really look like an idiot trying to school an AC on Slashdot.

      --
      How we know is more important than what we know.
    13. Re:Advisory Timeline by jrockway · · Score: 3, Insightful

      > Availability is a key facet of security. There's no fuckin' point having a "secure" system which you can't even use.

      Sure there is. Think, for example, of a data warehouse containing social security numbers. Would you prefer that that system go down entirely, or that the contents of the database is exposed. A system that detects trouble and shuts itself down until someone fixes it sounds good to me.

      Also, by your standards, a power failure is a security hole. That's just not true.

      --
      My other car is first.
    14. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      OpenBSD didn't come up with any of those things. They aren't the first and definitely aren't the only
      operating system to have them.

    15. Re:Advisory Timeline by QuantumG · · Score: 0, Troll

      Ok. I'm done talking to you idiots now.

      --
      How we know is more important than what we know.
    16. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      Oh oh. Seems you lost and can't admit it.

      The "unlplug the computer to get a local security hole" is just too funnny.

      Pwned. Get over it.

    17. Re:Advisory Timeline by toadlife · · Score: 0, Troll

      No. He won and you are the idiot.

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    18. Re:Advisory Timeline by Sam+H · · Score: 1, Interesting

      If a power failure can be triggered by an attacker and affects the availability of a resource you rely on, then yes, it's a security hole. Welcome to the real world.

      --
      God, root, what is difference ?
    19. Re:Advisory Timeline by ctzan · · Score: 3, Informative

      From the bugtraq advisory:

      *Credits* This vulnerability was found and researched by Alfredo Ortega from Core Security Technologies. The proof-of-concept code included in the advisory was developed by Alfredo Ortega with assistance from Mario Vilas and Gerardo Richarte.

      From the OpenBSD CVS log:

      revision 1.27 date: 2007/02/26 20:15:33; author: claudio; state: Exp; lines: +2 -6 m_dup1() copies the packet header and allocates the mbuf cluster in the wrong order. M_DUP_PKTHDR needs to be called with an empty mbuf. Allocating an mbuf cluster beforehand is not allowed as the resulting mbuf is no longer considered empty (part of the header is initialized). The correct order is to allocate an mbuf via MGETHDR(), copy the packet header and as last step allocate the cluster. Issue found by JINMEI Tatuya. OK canacar@ deraadt@ mglocker@ additional input itojun@

      So, who found the bug in the first place ?

    20. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      Actually they are. Most of these features are not optional, compared to other OSes.

      And do tell me someone else has developed a portable free ssh/sshd...

    21. Re:Advisory Timeline by TheRaven64 · · Score: 3, Insightful

      it appears that the fix to 3.9 and 4.0 branches was delayed for an extra week until Core produced a working remote root exploit I think this makes sense, to be honest. If it's just a DoS, then I'd rather not put the code in my kernel until it's been well tested (I can remote-reboot my machine, if all else fails, and then apply the patch). If it's a remote code execution then it's pretty hard for any change to make it worse.

      I really like OpenBSD, but I really miss having an analogue of FreeBSD's portaudit utility. Since the source data used by portaudit provides OpenBSD and FreeBSD vulnerability info, I wonder if anyone has tried porting it...

      --
      I am TheRaven on Soylent News
    22. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      No, he's right, and you're the idiot. No point in having a system you cannot use because some bad guy keeps crashing it.

    23. Re:Advisory Timeline by LizardKing · · Score: 3, Informative

      A remote kernel panic is a reliability issue - you can't exploit a paniced system! The OpenBSD team couldn't see a way to exploit the issue, Core subsequently proved that a panic could be avoided and exploit code executed, at which time it was upgraded to a security issue by the OpenBSD team. No conspiracy necessary.

    24. Re:Advisory Timeline by QuantumG · · Score: 1

      Nah, these dicks are arguing that denial of service isn't a security issue. That's not a semantic argument, that's just straight ignorance.

      --
      How we know is more important than what we know.
    25. Re:Advisory Timeline by evilviper · · Score: 1

      I'd like to see the OpenBSD guys treat all buffer overflows as potentially exploitable.

      They do. I have no doubt the change was made to the appropriate CVS branches (OPENBSD_3_9/OPENBSD_4_0), as hundreds of other improvements are, all the time (long after release). It would be vastly impractical for them to release a patch and errata for every such change made, on the off chance it might be exploitable.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    26. Re:Advisory Timeline by Anonymous Coward · · Score: 1, Insightful

      Also, by your standards, a power failure is a security hole. That's just not true.

      Tell that to anyone who has an alarm system without a battery backup...

    27. Re:Advisory Timeline by westlake · · Score: 1
      A remote kernel panic is a reliability issue - you can't exploit a paniced system!


      Bringing the system down counts as an "exploit" in my book.

    28. Re:Advisory Timeline by ajs318 · · Score: 1

      It depends.

      Although it's quite vulnerable in one sense, a denial-of-service does not in and of itself expose data to people who weren't meant to see it. If that's the kind of security vulnerability you're desperate to avoid, the risk of a DoS might be an acceptable price to pay. (Although, as things turned out, it did make arbitrary code execution possible ..... hence why it was upgraded.)

      Think of it as being a choice between locking people in a burning building, or having a fire exit which can also be used as an entrance. Depending on what's inside the building, it might be better for the workers to burn up with it, than to risk anybody removing it.

      --
      Je fume. Tu fumes. Nous fûmes!
    29. Re:Advisory Timeline by Abcd1234 · · Score: 1

      Good for you. I'm sure 50% of the geek community will agree and 50% won't. It's a matter of opinion, and in this case, yours differs from that of the OpenBSD team (and mine, BTW).

    30. Re:Advisory Timeline by jdbo · · Score: 2, Informative

      The term "cover-up" implies that they did something outside of their usual process of classifying bugs & the attendant patches.

      Except that they didn't; they classified it as a reliability issue (as they have done with many similar issues because they didn't see exploitability as of part of the problem ( Check out the history here: http://openbsd.org/errata40.html ; many kernel panic bugs going back several years are classified as "reliability" patches ). Once the proof-of-exploit was provided, they re-classified the existing patch in short order.

      You can argue with their system of classification, but if you're actually administering an openbsd box, are you skipping the reliability patches because you like unreliable, but secure servers? I hope not...

      In any case, that timeline leaves out the context of how the openBSD project actually works, which should be taken into consideration before implying accusations of "cover-up". In this case, I think that assessment is entirely unfair.

    31. Re:Advisory Timeline by Recovering+Hater · · Score: 1

      Bringing the system down counts as an "exploit" in my book. - westlake(615356) The power went out in my neighborhood last night. I hate to think how many computers got pwned because of that blackout. Because everyone knows a kernel panicked computer can be so totally pwned. Like the time a kernel panicked my own computer when I tried to roll my own kernel from source code and hosed something up. I forgot and left the cable modem hooked up. I bet my computer was naked to the world of hackers. Hahaha.
      --
      My humor is probably your flamebait
    32. Re:Advisory Timeline by cachimaster · · Score: 0

      Hi, I was the lucky one that found the bug.
      Its pretty severe, not easy to exploit. As an old Slashdotter, I really apreciate the Open-Source folks and would like to have found a Windows or oracle bug. But this is my work, and Im sure that OpenBSD is even more secure now.
      Theo was a little reluctant to accept the severity of this bug, but its not uncommon when you found a security risk.
      BTW, Linux had a very similar vulnerability just yesterday, look here

    33. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      Ivan from Core Security Technologies responded to this and other accusations in the comments of Thomas Ptacek's blog post on the subject:

      http://www.matasano.com/log/720/openbsds-amusing-h andling-of-remote-kernel-overflow

    34. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      denial-of-service does not in and of itself expose data to peoplw Really, who gives a shit, when you have to wake up 2AM?
    35. Re:Advisory Timeline by TheAwfulTruth · · Score: 1, Interesting

      The OpenBSD team is SUPPOSED to assume the worst case when no facts are known. They are supposed to investigate EVERY bug as being a potential exploit. Unlike Linux, it is not the external commuities responsibility to find and fix bugs, it is OpenBSDs. They are supposed to be providing a completly vetted and secure system. It's what makes them special.

      At least they used to. Now they are like /everyone/ else, deny deny deny, till they get egg shoved in their face. Having an external company more vigilent about exploits in OpenBSD than OpenBSD itself is is disturbing. OpenBSD fails it this time.

      And in fact it may be this type of internal behavior that has led to the existance of this bug in the first place. Rather than giving them a pass, they should be crucified for this. They need to be reminded that they cannot go slack or their entire reason for being will evaporate.

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    36. Re:Advisory Timeline by ctzan · · Score: 1

      Congratulations.

      But I still think they had to give proper credits in their CVS log. Not doing so in the first place + trying to play down the importance of the bug was dishonest and despicable.

      I do use OpenBSD too, and appreciate the OpenBSD team, but I think they somehow deserve a bit of undeserved public humiliation for this :)

    37. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      >Would you prefer that that system go down entirely, or that the contents of the database is exposed.
      Or C) None of the above.

    38. Re:Advisory Timeline by seifried · · Score: 1

      They are supposed to investigate EVERY bug as being a potential exploit.

      Er no. They generally fix the bug and move on. Investigating it to see if it is exploitable is largely a waste of time (unless it is a new class of bug in which case they usually research it and audit the entire code tree, which is why you don't see so many flaws in OpenBSD), every single code error can potentially be a serious security exploit, or a non issue (unreachable code path, etc.).

    39. Re:Advisory Timeline by Nikademus · · Score: 1

      They aknowledged the bug and posted a fix in HEAD branch directly. They didn't back release the fix because it was first thought as a reliability issue, not an exploit. When they learned there was a possible exploit, they back released the fix.

      --
      I gave up with the idea of an useful sig...
    40. Re:Advisory Timeline by Anonymous Coward · · Score: 1, Insightful

      Son, are you high? Since when were you in charge of what OpenBSD is SUPPOSED to do and not do? Last I checked, that was Theo de Raadt's job, and noone else's.

      If the developers look at something and think it's a potential security risk, they mark it as such and it comes as a security patch. Look through their history, they've done it several times when they haven't even looked to make an exploit, they just think it's possible, so it's marked as security.

      On the other hand, if they do not see the risk, they mark it as reliability unless someone, it doesn't matter who, shows them otherwise.

      When has it ever been declared OpenBSD's responsibility to treat anything and everything as the end of the world?

      They never used to treat everything as a hole in the system, they treated things as what they assessed them to be, just like everyone else does.

      Given a pass? This is a bug that can only be exploited under rare cases and it had been very doubtful that it could be exploited at all until Core showed it to them. Cannot slack? These people are doing a significantly better job keeping their system safe than any other system, if anything, these people are getting pressured far more than they should be. They are human last I checked, except for Bob Beck who is actually 1/4 Moose on his dad's side.

      Their entire reason for being is making a system they want to use, that will never evaporate. And you can go fuck yourself for all they care, they don't even want you using their work, they're letting you have it because they see no need to make you write your own code. You're just being an ingrateful little child, complaining about nothing, because you want everything.

    41. Re:Advisory Timeline by Anonymous Coward · · Score: 1, Insightful

      "The OpenBSD team is SUPPOSED to assume the worst case when no facts are known."

      That's absurd. No facts and it's immediately considered an exploit on vetted code?

      I'm not sure where you learned this ideology. I've used OBSD for 8 years and they never do this unless it's blatently clear.

      And you know what? Mayve they did consider it and didn't see the issue; it took CORE itself 1 week minimum to deliver PoC, showing this was not a readily seen | trivial exploit, not to mention a couple days, not the usual hours, for OBSD to come up with a fix. iow, the fact it wasn't seen in the first place lends some evidence that this wasn't a readily seen problem.

      "They are supposed to investigate EVERY bug as being a potential exploit."

      No, they fix known bugs first, which stamps out most issues. Which they did here. Then they learned it was more and fixed the issue within 2 days, maybe less depending on what hours the mentioned communications were actually made.

      YOU do understand that CORE seems to have given them partial info? PoC was not given for over a week. You also don't know, seeing the info is only one side of the tale, whether someone was still looking into things on OBSD's end and CORE simply came up with the PoC first.

      "At least they used to."

      You clearly don't use OBSD and haven't for years, so quit pretending you know how they work and being some basis of how they used to work, because your impression is false; they've never had the attitude you give them. They fix bugs first and write secure code from the get-go with a pretty small team and resources. They don't go doomsday on every bug revealed or write exploits as a matter of course.

      "Now they are like /everyone/ else, deny deny deny,"

      Where did they deny? They questioned, had their own arguments, didn't see the proble, saw their misyake, and immediately fixed and bacported it...

      " till they get egg shoved in their face." ...and announced it on THE FRONT OF THEIR HOME PAGE FOR ALL TO SEE. From openbsd.org:

          "Only two remote holes in the default install, in more than 10 years!"

      "And in fact it may be this type of internal behavior that has led to the existance of this bug in the first place. Rather than giving them a pass, they should be crucified for this. They need to be reminded that they cannot go slack or their entire reason for being will evaporate."

      Seems pretty clear to me you're on OpenBSD hater and non-user.

      Crucified for 2 errors in a decade, one being in IPv6 code whe most of the world is IPv4?

      Their entire reason will evaporate, when most of the developers want to write good, secure code, come up with secure solutions, with security in an OS as part of the emphasis, the other being open source for all to use and open documentation?

      Frankly, you're a damn, misinformed, assuming nut.

    42. Re:Advisory Timeline by Raenex · · Score: 1
      An outsiders opinion: I've heard that OpenBSD takes security seriously. Then I see this story and I'm shocked. There's no excuse for labelling a remote denial of service as anything but a security issue.

      You can argue with their system of classification, but if you're actually administering an openbsd box, are you skipping the reliability patches because you like unreliable, but secure servers? I hope not... Well, yes, I might. There's a difference betweeen a bug that a user might run across and screw himself over and an exploit that any random script kiddie can use to take down your machine. The first is a reliability issue, the second is a security issue. Yes, there is a distinction between taking down a machine and being able to run arbitrary code on it, and if that is OpenBSD's concern they should come up with categories under security that reflect that fact.

      I find the OpenBSD position appalling. I've gone from respect and considering them as an OS to use, to wanting nothing to do with them.

      These are my "common sense" opinions. CVE agrees with them. Honestly, I have no axe to grind, I'm not a Linux or whatever advocate, etc. It just seems so obvious that OpenBSD has betrayed the very principles they stand upon.
    43. Re:Advisory Timeline by BlairQ · · Score: 1

      The fact is that It Does Lead to a Remote code Execution and that theo de raadt comment was "You're kidding. Code execution from this?" ... they know it, first hand. And some of the products where the KAME proyect is involved are vulnerable too.

    44. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      If somebody can bring down my (surveillance/security?) systems at will, it is a huge vulnerability to me.

      And your "burning down the house" example clearly shows wrong order of priorities: first rule of security is to save human lives (and I'm not talking military now). After that there are other things to save and/or deny.

    45. Re:Advisory Timeline by ajs318 · · Score: 1

      Yes; in the case of a surveillance system, it's probably better that it stays up and exposes data to the outside world, than falls down and locks up that data. That's a choice you have to weigh up. If the machine is carrying sensitive personal information, though, it might very well be better dead than read. You need to consider different failure modes.

      And I can think of a few situations where someone would consider it more expedient to kill a few people than risk letting certain secrets be revealed.

      --
      Je fume. Tu fumes. Nous fûmes!
    46. Re:Advisory Timeline by epine · · Score: 1

      Nah, these dicks are arguing that denial of service isn't a security issue. That's not a semantic argument, that's just straight ignorance.


      One man's ignorance is another man's discernment. Not every site has the same security profile. Some systems are availability-critical (typically found within the military, healthcare, aviation industries) and other systems are integrity-critical (such as the IRS taxpayer database). For systems in the second category a DOS is a highly visible irritation, hardly something to lose sleep over. If it happens more than once, network traffic flows to the machine can be captured an analysed for the triggered event. No taxpayer data is compromised. The case of a remote-root is infinitely more troublesome in the context of an integrity-based system. The data might have been altered/forged months ago. It can be a nearly impossible task to reverse audit the damage that might have been done.

      Somehow I doubt there are many OpenBSD instances in between a fighter pilot's stick and the aircraft control surfaces. As a network security measure, I bet there are plenty of OpenBSD installed in integrity-critical environments where an untraceable remote root represents a worst case scenario.

      But feel free to lump the two scenarios together if you feel good being the world's smartest person incapable of discernment.
    47. Re:Advisory Timeline by Anonymous Coward · · Score: 0
      What about looking at both side of the story, here's Theo's post on mailing list:

      Noone in OpenBSD is pissed off about this. We posted the bug fix as
      soon as we became aware of the problem. The timeline goes like this:

      1) We were told there was a mbuf crash, which could remotely CRASH
      the machine. There was no proof that more could be done, not even
      a whiff.

      2) We commited the fix, about 24 hours later. It took a few days to
      get the errata up because the people who do that were at a conference.
      It was labelled as a RELIABILITY FIX because everyone felt it was just
      a CRASH. I then entered into a long conversation with Core explaining
      why we label crash fixes (even remote) as RELIABILITY FIXES.

      3) Core felt maybe something more could be done and continued working,
      and ONE WEEK LATER later, finally managed to show us brand new code
      which showed that intrusion was possible. Before that moment, it
      was still just confirmed to be a CRASH.

      4) A few hours after we become aware that it was more than a CRASH, we
      changed the advisory to say it was a real security risk. We first had
      to get the patch into -stable,

      I changed index.html to talk about there being TWO remote holes in
      more than 10 years, without even discussing this with any other
      developer, because I knew it was true. Other developers in the group
      were stunned to see me change it.

      5) Core decided that their advisory should include their interpretation
      of our discussion as to why OpenBSD labels crash fixes as RELIABILITY
      FIXES. Three times I told them that I thought that was a mistake,
      and that the public would not understand the reasoning as they wrote
      it.

      That is what happened. If you don't believe me, mail Ivan Arce at
      Core and ask him if any of the 5 points above are wrong. Come on, go
      ask him if I am a liar... go ahead.

      Yes, some of the press got it wrong too, and part of that I feel is
      Ivan Arce's fault. He should have been more cautious at explaining
      the complex discussion OpenBSD had with Core, where we explained why
      we label errata for remote crashes a Reliability Fix. Or he should
      have skipped it altogether.

      He even went around telling the press that this shows that IPV6 is a
      risky new technology, when the fact is that this was a mbuf corruption
      bug, in code that all parts of the network stack could potentially use
      in the same way. He's got his layers wrong. But finding bugs in
      other people's software lets companies like Core sell themselves as
      experts. They are experts, but the good press they get should not
      cost us in this way.

      Let's see... the fsck_ffs fix pedro commited a few hours ago. That
      fixes a serious problem where fsck fails to spot filesystem
      corruption. Should we spend time fully assessing how rare or common
      this situation is, and then errata it up the stream as fast as
      possible, maybe even consider if there are security risks from such
      filesystem corruption? Come on. Yet that is what some non-experts
      moan for. They want projects with only a few people (who are doing
      this for a hobby) to struggle down these well-defined paths that their
      little brains can understand. They don't understand all the other
      things that developers do, so they wish to cubby-hole us into these
      procedures. In the last 10 years they have not gotten us to behave
      so, and in the next 10 years it won't happen either.

      The reality is that people don't hold their own mothers as accountable
      as they are trying to do here with us, yelling "conspiracy", "downplay",
      etc.

      The minute someone moans for a posting to the security-announce list
      they have remov

    48. Re:Advisory Timeline by jallen02 · · Score: 1

      In many places down time = lost dollars. You are arguing a general case and forgetting about the specific cases where these kind of problems actually matter. Its still a vulnerability. What if an attacker only needed the power out. We rate these things as security issues for all of the problems we can't imagine, not the general scenarios we can think up. Its all about mitigating risk. If a remote attacker can panic my kernels that is a BIG deal. End of story.

    49. Re:Advisory Timeline by jallen02 · · Score: 1

      Sorry to say it but if a malicious attacker can influence your system remotely and cause it to go down it is a SECURITY issue. You can argue the general case all you want. Sure in a great majority of cases a downed system is not a security problem. What about for that one system where up time is critical? Where even a minute of down time can cause major problems. Come on. If an attacker can remotely influence system stability it is clearly an undesired behavior. In the risk assessment business that is a big risk. An attacker could keep a system down for quite while if you didn't know what was going on and that could give them many opportunities, including social engineering attackers. Security is more than just technology. Its about people and process AND technology. Until people like you realize that these kind of things will be swept under the rug. If this happened to MS it would be a huge security problem.

      Jeremy

    50. Re:Advisory Timeline by jallen02 · · Score: 1

      Really, I completely doubt they would cover anything up. I still regard OpenBSD as having some of the best integrity in the security in the business. I happily recommend my clients use OpenSSL for almost all of their crypto related needs. My point is their classification system sucks if they try and pass a severe reliability/DoS issue off as a stability/reliability issue. They are trying to preserve their little marketing slogan of one/zero remote buffer overflows. In security you ALWAYS err on the side of caution. You have to assume that your adversaries will have more time or resources than you. Just because YOU can't figure out why a remote kernel panic is a buffer overflow waiting to happen doesn't mean your attacker won't spend the time to figure it out. I remember when many security professionals dismissed the whole double free issue as a purely theoretical attack. Until the Zlib POC many people were quite smug that double frees weren't security issues. From this perspective a remote kernel panic is an absolutely critical issue. I daresay an absolutely critical security issue.

      I still regard the OpenBSD project very highly and I still think they are operating with the integrity required of a project that places security above all else. I just think that they should be open and honestly about the seriousness of a malicious attacker being able to panic your systems. You are playing with terms like exploitability here, but I am not sure you understand what it means to some environments. In some environments there is absolutely no difference from a reliability issue and a remotely exploitable buffer overflow resulting in malicious code execution. Why? Because in some situations up time is absolutely critical. It isn't common, but it is more common than you might imagine. The point being for a security project this is a BIG deal. For your average Fortune 500 that produces software you can play some fun games with what this really means, but at the end of the day it reflects poorly upon the security of your software. It reflects poorly upon your organizations ATTITUDE towards security if you won't acknowledge the issue as one relevant to security. Simply put, err on the side of caution. No reason to jump the gun.. but take these kind of reports a little more seriously on the back-end. Thats all.

      Jeremy

    51. Re:Advisory Timeline by Anonymous Coward · · Score: 0

      "Sorry to say it but if a malicious attacker can influence your system remotely and cause it to go down it is a SECURITY issue."

      "Remotely" in this case, is someone with physical access to the ethernet the target is connected to. In which case, if you have a malicious person with access to your physical network, that is your number one security issue. The vulnerability meanwhile, gets patched and life goes on, just like all the other vulnerabilities on all the other systems.

  9. Obligatory by Anonymous Coward · · Score: 1, Funny

    It was as if several dozen antiquated nameservers suddenly cried out in pain"

  10. two by mastershake_phd · · Score: 0, Troll

    2 aint bad. Whats Microsoft at for the decade, 2000?

    1. Re:two by Anonymous Coward · · Score: 0

      Let me check...
      What day of the week is it again...

  11. Update the firewall? by Psychotria · · Score: 1

    Perhaps it would be better to update the kernel

    1. Re:Update the firewall? by Anonymous Coward · · Score: 0

      Just don't install it. It's a rather unneeded package anyways...

    2. Re:Update the firewall? by Anonymous Coward · · Score: 0

      "Update the firewall" is in reference to OpenBSD being deployed heavily as a firewalling/packetshaping platform. It is my understanding that they weren't talking about updating PF, IPF or any other OpenBSD compatible firewall, but the OS itself (as the exploit is an ipv6 memory allocation problem in the kernel).

  12. Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 2, Interesting

    There will be buffer overflows. The solution is to not use C for handling data from over the network. Use a language that has memory safety. I think JNode is on the right track. They have a small amount of code (assembly in this case) for running the virtual machine, and everything else is done in Java. Java has no memory access. Buffer overflows of a certain kind can exist but the standard buffer overflow exploit is nearly impossible.

    I know, those who don't understand what I'm talking about will leap in and say, "Java has to run in a JVM and what language is the JVM written in? Ha! It's in C (or assembler) so it can still have buffer overflows!" This is so naive. First, the JVM runs Java code, which has no memory access. It does not run untrusted code handed to it over the net. Second, and most important, it is a very small piece of code with a rigorous definition of what it should do. It's possible to verify a small, rarely-changing bit of C code with a rigorous specification. It's not really possible to verify correctness of a huge constantly-changing C codebase, like the OpenBSD kernel and system utilities.

    Anyway, trying to have a huge secure codebase in C is an exercise in futility, as OpenBSD has shown. Relative to other operating systems, OpenBSD is small and feature-poor. And their dev team must be among the best in the world for eliminating these types of bugs. And yet they still get bitten by them.

    1. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      There's a reason operating system kernels aren't written in Java. Get a clue dude this isn't swing GUI userspace crap we're talking about here. Can you imagine virtual memory management? System.gc() // and cross your fingers.

    2. Re:Doesn't matter how good a C programmer you are by Fnordulicious · · Score: 3, Interesting

      Even the on the Lisp Machines the "kernel" code was implemented with manual memory management. There's a very simple reason for this. How do you implement the memory manager? It's a chicken and egg problem, so the lowest levels always have to do memory management by hand.

      Also, it's less efficient to simply use one heap for everything. Instead, an OS kernel written in a language with automatic memory management usually maintains large blocks of memory for the various tasks to work in, like an area for packet construction, an area for I/O buffers, etc. The automatic allocator and GC are told which area to work in, and then create or delete stuff in that area as needed.

      So no, it's not generally reasonable to implement the lower levels of any OS with automatic memory management. You're free to try, though.

    3. Re:Doesn't matter how good a C programmer you are by cryptoluddite · · Score: 1

      "alloc final class PacketBuffer ..."

      Where that keyword tells the gc to use a separate allocation area for these objects. It's not hard to overcome the special challenges of kernel-level code in a safe language, it just takes a small amount of creativity. It's not like it hasn't been done before with Self, JavaOS, Singularity, etc.

      The actual reasons why operating system are not written in safe languages today is a little bit of stupidity and a lot that user apps are written in unsafe languages. Making some random C program run fast inside a safe kernel is like making a safe language run well inside a C kernel; the right kinds of features you need just aren't there to make it fast. It's hard to realize the benefits of a safe kernel, like say being able to add fine-grained callbacks aka event listeners (this is essentially impossible with a C-based kernel due to separate memory spaces) when the vast majority of existing code could never use it. Just imagine how file change notification would be done with a safe kernel (ie addFileChangeListener -> done) vs the contortions and hideousness of inotify.

    4. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      What's your implementation of alloc?

      The actual reasons why operating system are not written in safe languages today is a little bit of stupidity and a lot that user apps are written in unsafe languages.

      No, there are real reasons why operating systems are not written in "safe" languages. Despite over a decade of being told how great Java would be for writing a kernel, not a single Java developer has yet done it. So right now, we get to file the idea "Java would be great for writing a kernel and operating system developers are idiots" under the "Horseshit" category.

    5. Re:Doesn't matter how good a C programmer you are by iamacat · · Score: 1

      What advantage Java provides in memory safety and garbage collection is lost in the lack of local destructors. A method can put stuff in a temporary data structure or open a limited resource and then throw an exception without cleaning things up. finally blocks are not so hot when you have 20 things to cleanup in nested block structure. In fact, Java memory licks are quite common and tougher to debug than good C++ code. Someone should wake up and come up with a language that has memory safety AND support for writing concise, readable code.

    6. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      Java has a finalize() method that's called when an object is finally collected "for real." This method, however, has a number of limitations on it, which are intrinsic to garbage collected languages.

      Essentially, the issue with C++-style destructors in GC languages is that object lifetimes are determined by the garbage collector. Thus any code in the destructor is run at non-deterministic intervals. This is fine for memory, but it may not work so well for other resources, which you may need to release in some specific order.

      The solution is to add a method like dispose() (and perhaps force dispose() to be called from finalize()), and only use the garbage collector handle memory and memory-related resources. This is exactly equivalent to a destructor, there's just no language operator like delete corresponding to it. Automatic memory management still solves 99% of the resource allocation problem.

    7. Re:Doesn't matter how good a C programmer you are by TheRaven64 · · Score: 1

      Despite over a decade of being told how great Java would be for writing a kernel, not a single Java developer has yet done it. Correct. A small group of developers did. Google for 'JNode.' A somewhat larger group of C# developers did the same thing at Microsoft, and called the result Singluarity.

      To my mind, the problem with using a language like Java (or anything based on type theory) is that it gives you fine-grained security, but not coarse. It protects you from buffer overflows, but not from SQL injections (as a trivial example). Category theory looks promising, since it allows you to alter the granularity of your reasoning quite easily, but so far there are no widespread languages based on category theory. I prefer a CSP-style approach, where you write your individual processes in any language, but design the overall system on the assumption that they are all insecure.

      --
      I am TheRaven on Soylent News
    8. Re:Doesn't matter how good a C programmer you are by jimstapleton · · Score: 1

      The Java code may not have memory access, but the JVM does, and it uses that memory access to handle things for the Java code that requries underlying memory access to run.

      Basically, you are saying "trust someone elses C Code, but not your own", and "Run parts of your core OS on a virtual machine"

      Ex: In java if you create two strings and concatenate them, the VM has to allocate the memory for the strings and the concatenated strings - that's still memory management, and you don't know that there won't be a bug in that any more than there can be a bun in a C coded stack implementation. Or are you saying a potential bug in a VM instruction stack implementation is harmless? Maybe your saying since it's a VM the coders of it can't make mistakes?

      --
      34486853790
      Connection too slow for X forwarding? Try "ssh -CX user@host"
    9. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      It does matter how good you are, but in a large project there's going to be someone who isn't...

      Your point about safe languages is somewhat valid...but low-level languages have their place. Automatic memory management isn't always appropriate, most opoerating system kernels have some kind of real-time requirements.

      Anyway, once the language is high-level enough to provide automatic memory management, I'd sure prefer it to be a hell of a lot more flexible than Java.

    10. Re:Doesn't matter how good a C programmer you are by gedhrel · · Score: 1

      A version of that would be java plus the proposed closure support, which permits things like being able to fashion "with-blocks" that follow a close-on-completion semantics without having to explicitly write the finally{} block.

      Example of your type of bug in current java releases: sun.security.krb5 in the core java rt.jar. Look at the code in jdk_sec-1_5_0-src-scsl.zip.

      You'll see that sun.security.krb5.internal.UDPClient has no close() method; and the UDPClient-using code path in sun.security.krb5.KrbKdcReq (which has a few other close-to-the-coalface errors) consequently leaks FDs (unlike the TCP path, which has a try/finally that closes the socket properly).

      We're seeing a krb5 client application (the Yale CAS SSO) keel over in no time due to FD exhaustion. A trivial fix (the non-whitespace part of the diff is 8 lines) sorts this out.

      (Currently pulling my hair out with Sun trying to get this fixed :-) )

    11. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      No, there are real reasons why operating systems are not written in "safe" languages. Name one reason besides the network effects of the vast amount of existing unsafe code out there.

      Despite over a decade of being told how great Java would be for writing a kernel, not a single Java developer has yet done it. You are simply wrong, and what's worse is that the post you are replying to listed a couple explicity. That means you are intentionally being a moron. Self, JavaOS, Smalltalks, jxos/jnode, Singularity, etc.

      JavaOS does run on systems that lack an MMU with no reliability problems. This is impossible when writing code in an unsafe language. jxos was written by 2 people and they got it running arbitrary Java programs, with a GUI (most AWT widgets), minesweeper, etc all fitting on a 1.4mb disk. These things have been done, they exist, and safe kernels are a good idea (better then microkernel and better than monolithic unsafe kernel).
    12. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0
      Name one reason besides the network effects of the vast amount of existing unsafe code out there.

      1. To be effective, "safe" languages require some form of GC. GC in a kernel is idiotic.
      2. You are working on bare hardware. At some point, you must write portions of your system in an "unsafe" language.
      Self, JavaOS, Smalltalks, jxos/jnode, Singularity, etc.

      Not a single one of which is a complete, usable, system. Every single one you list are research systems that lack real-world features and have not been shown to be effective in normal use.

      This is impossible when writing code in an unsafe language.

      Horseshit, again.
    13. Re:Doesn't matter how good a C programmer you are by Anonymous Coward · · Score: 0

      # To be effective, "safe" languages require some form of GC. GC in a kernel is idiotic. "because you say so" isn't a reason. Linux's network stack uses GC, I guess it's stupid huh?

      You are working on bare hardware. At some point, you must write portions of your system in an "unsafe" language. You don't write these parts in C either, you write them in assembly. You're just hand waiving because *you* don't *like* the idea. Come up with some real points not this "it would be teh suk lolz" bs.

      Not a single one of which is a complete, usable, system. JavaOS was a commercially available operating system and it was usable and complete, for one, it just wasn't for x86 home PCs. In short, you're an idiot.

      Horseshit, again. Show me an OS written in an unsafe language that can't be crashed by an arbitrary user program when there's no MMU. That's rhetorical; you can't.
    14. Re:Doesn't matter how good a C programmer you are by Old+Wolf · · Score: 1

      There will be buffer overflows. The solution is to not use C for handling data from over the network.

      This is unnecessarily pessimistic, even trollish. There are only buffer overflows if you write buggy code.

      Having said that, I think it was a particularly poor design decision to use a function pointer where they did.

  13. Barely "remote" by _iris · · Score: 4, Informative

    "remote" in this case only means "not local." It does not, in any way, mean "far away," as the attacker has to be able to inject fragmented IPv6 packets, which is extremely hard to control (impossible?) from the other side of a layer 3 device.

    1. Re:Barely "remote" by LordEd · · Score: 1

      Most networks have multiple computers and devices. Odds are this system would hold more sensitive information and be used as a server. A successful attack vector would be to take over a less secure system to gain a foothold on the network, then use this attack to take over the main fortress.

    2. Re:Barely "remote" by pchan- · · Score: 4, Informative
      From the exploit text:

      However, in order to exploit a vulnerable system an attacker needs to be able to inject fragmented IPv6 packets on the target system's local network. This requires direct physical/logical access to the target's local network


      So nobody from the net can crack your machine, they must already me on your local net. This greatly reduces the scope of this attack.
    3. Re:Barely "remote" by perbu · · Score: 1

      Some people would even consider this a local exploit. An exploit which requires root access on a machine on the local network is hardly, uhm, remote.

    4. Re:Barely "remote" by Kuciwalker · · Score: 1

      It means that anyone on the wireless at Starbucks, or who plugs a laptop into the network at work, can own your box. That's a security issue.

    5. Re:Barely "remote" by dougmc · · Score: 1

      Some people would even consider this a local exploit.
      Then those people would be fools. Local means local -- you have to have access to the box in question already.


      Granted, as far as remote exploits go, this one is pretty hard to exploit (since it needs IPv6 and access to another box on the same subnet), but it's still a remote exploit. It just means somebody has to exploit that Windows box on the same subnet (which may be a simple matter) and use THAT to attack the OpenBSD box.

      If the OpenBSD box is at a colo, the odds of having other boxes on the same subnet that could be easily hacked and used to inject this attack are pretty high.

    6. Re:Barely "remote" by Kjella · · Score: 1

      Some people would even consider this a local exploit. An exploit which requires root access on a machine on the local network is hardly, uhm, remote.

      Take over one box at a colo (e.g. fully remote exploit, local account and a really local exploit, pay for it with fake credit card, whatever) then take over any other server on the "LAN"? Or like the University I went to, they had network plugs outside the computer labs in public areas so you could sit there with your own machine. I don't know the physical layout, but if that put you on the same LAN as a computer lab you've certainly come far. Ok so it's maybe not long distance but it's certainly far more dangerous than a purely local attack.

      --
      Live today, because you never know what tomorrow brings
    7. Re:Barely "remote" by kestasjk · · Score: 1

      It is more dangerous than a purely local attack, but you shouldn't be able to inject fragmented IPv6 packets from a shared account anyway. You would need to be able to write data directly to the wire, which users in any modern OS can't do.

      If security was a concern in a shared hosting environment you could make it so that even root can't inject fragmented packets.

      I'd say the scope of this vulnerability is very limited, the most disturbing thing is the way the OpenBSD team tried to hush it up.

      --
      // MD_Update(&m,buf,j);
    8. Re:Barely "remote" by Anonymous Coward · · Score: 0

      WTF? Just about every OS these days can be co-opted to do anything the user wants. Especially if they have full administrator/root access. And local exploits / privilege escalations are not that hard to come by if you don't.

      No one cares about that crappy server that sits alone on some obscure network, when others are available that share a subnet with numerous other machines at a colo.

    9. Re:Barely "remote" by anticypher · · Score: 1

      OpenBSD is the only system I use for IPv6 firewalls. OpenBSD's packet filter is the most advanced IPv6 firewalling implementation out there, and thus it is used to protect all kinds of infrastructure where IPv6 is in production use.

      But the machines that OpenBSD+pf are protecting are quite easily compromised, there are so many PHP/MySQL/IIS/etvas exploits out there that give root level access to a machine. I tend a data centre with thousands of poorly administrated machines, several of which get compromised on a daily basis. All the firewalling in the world can't protect a web server whose main function is to serve up pages to the internet at large. Many companies just rent a dedicated machine, or space on a shared machine, and once their website is barely up and running they tend to forget to update or patch the system. So the servers get compromised into botnets, or taken over by children on IRC, or just have a disgruntled ex-admin fucking around. It's a major pain. Even if the server has been configured for IPv4 only (because Apache is broken on v6), a root exploit can still send IPv6 packets out a local interface.

      Once there is a compromised machine on the local network, then a script-kiddie tool to compromise an unpatched OpenBSD firewall can be uploaded. A nightmare situation, but kudos to the OpenBSD team for a quick, straightforward response. Time to go pre-order some T-shirts. Since the mailing lists have been quite active as this exploit has been discovered, it has given me time to check all the firewalls I manage for "scrub in" commands. Now I get to go do some kernel patching as well.

      the AC

      --
      Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
    10. Re:Barely "remote" by jo42 · · Score: 1

      Show me a Starbucks running IPV6 on their WiFi...

    11. Re:Barely "remote" by nbritton · · Score: 1

      Not only that, but we don't even use IPv6... In fact most people disable it because it adds unneeded overhead in the kernel.

    12. Re:Barely "remote" by kestasjk · · Score: 1

      Local kernel-level exploits not withstanding you can make it so no-one, not even root, can change certain things.

      I have root access to my gateway box via ssh, but I can't delete log files, or change firewall rules, or mount/dismount disks (and as a consequence I can't write to /), or inject raw packets, or read/write to raw memory.
      These are enforced by the FreeBSD kernel with securelevels (and applying them to the appropriate places). If I wanted to be able to change any of those I'd have to shut the box down, go sit at the terminal, and log into single user mode.

      --
      // MD_Update(&m,buf,j);
    13. Re:Barely "remote" by cachimaster · · Score: 0

      Sorry, but that is plain wrong:
      If you can access the LAN from the IPv6 Internet, you can send a MultiCast Link-Level packet (Similar to a broadcast on IPv4) that reach ALL IPv6 machines on the LAN, and trigger the attack (My PoC does that). This kind of packet can be blocked, but are needed on some Network-discovery schemes.
      Even if the firewall on the LAN blocks all IPv6 Packets, you can encapsulate a Multicast Link-Level packet on a 6to4 IPv4 tunnel, send it to a IPv4 machine on the LAN, and this machine will forward the IPv6 packet to all machines on the LAN.
      I think that some distros of linux enable the 6to4 tunnel on the kernel by default.
      Making the parent post +5 Informative gonna make a lot of IT people unaware of the real danger.

    14. Re:Barely "remote" by Anonymous Coward · · Score: 0

      "If you can access the LAN from the IPv6 Internet"

      That is a pretty big "if" at the moment for most setups.

  14. OpenBSD - now TWICE as insecure by Anonymous Coward · · Score: 3, Funny

    Wow, OpenBSD's security rating just went from "999,999" on a scale of 1 to a million to "999,998" on a scale of 1 to a million.

    1. Re:OpenBSD - now TWICE as insecure by Anonymous Coward · · Score: 0

      Wow, OpenBSD's security rating just went from "999,999" on a scale of 1 to a million to "999,998" on a scale of 1 to a million.

      As opposed to Microsoft, which is still trying to break out of the negative numbers.

      I kid! I kid! Actually, they did that some time ago. They're now up to around "2" on a scale of 1 to a million and rising.

    2. Re:OpenBSD - now TWICE as insecure by Shadyman · · Score: 1

      Or it's gone from 1 in 1 million to 1 in 500,000

    3. Re:OpenBSD - now TWICE as insecure by irc.goatse.cx+troll · · Score: 1

      Not really. If you read the advisory and saw how Theo handled it you'll see nothing has changed in OpenBSD-land and that you're still liable to be left out in the cold if someone doesn't force Theo's hand on the disclosure. This is exactly how its happened many times before, someone finds some serious issue with openbsd and Theo denies it or covers it up, or if he finds it first it never gets announced (see the ntalkd scandal years ago).

      The fact that OpenBSD is secure is purely luck, the policies and standards are outright dangerous and I'd not trust any sensitive data to an OS whos leadership would rather cover things up than get users patched.

      Theo saying OpenBSD is secure is like Bush saying he supports our troops. Just doesn't mean much.

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
    4. Re:OpenBSD - now TWICE as insecure by HSpirit · · Score: 1

      The fact that OpenBSD is secure is purely luck Man, with that sort of luck I hope Theo is buying lotto tickets.
  15. Not really a coverup... by Grendel+Drago · · Score: 1

    They just asked for proof of concept code before they'd declare a remote control vulnerability. That's not really much of a coverup. If you were OpenBSD, wouldn't you want to be really, really sure you'd found a remote root vulnerability?

    Also, is IPv6 in the default install nowadays? If not, their slogan won't have to change.

    --
    Laws do not persuade just because they threaten. --Seneca
    1. Re:Not really a coverup... by Anonymous Coward · · Score: 0

      I do not know what I would do if I were OpenBSD. Probably the wrong thing.

      The responsible way to do is: if there is even a slightest chance of even DoS, it should be considered and announced as a potential vulnerability.

      But, as painfully clearly pointed out, OpenBSD do not think DoS is a "vulnerability" - an insane redefinition of the word.

      Anyway their slogan is so misleading (if not wrong).

    2. Re:Not really a coverup... by evilviper · · Score: 2, Informative

      Also, is IPv6 in the default install nowadays?

      "Nowadays?" How long has it been since you've tried OpenBSD?

      IPv6 has been enabled by default since v2.7 (June 2000), and fully supported by just about every included network program.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  16. Holy Cow, an OpenBSD Vuln? by Anonymous Coward · · Score: 5, Funny

    Thank GOD I run the company webserver on NT!

    1. Re:Holy Cow, an OpenBSD Vuln? by david_g17 · · Score: 1

      Instead of a once-a-month Patch Tuesday, OpenBSD has a once-a-decade patch.

    2. Re:Holy Cow, an OpenBSD Vuln? by UnknowingFool · · Score: 1

      Yeah! I mean, come on, 2 whole flaws in a decade. That's it: I'm switching to Vista server! That surely must be more secure than either NT or BSD.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  17. Not in the default install by Anonymous Coward · · Score: 0

    For this to manifest itself, you will have to manually enable IPv6, which is NOT on in the default install. Thus OpenBSD can keep its "x years without a remote hole in the default install" claim.

    1. Re:Not in the default install by dmiller · · Score: 4, Informative

      No, IPv6 is enabled in the default install, though it does use only link-local addresses by default. This means that the attacker has to be on the same layer-2 network as the victim, but this is still classified as a remote exploit. Theo agreed, and the homepage has already been updated.

    2. Re:Not in the default install by Anonymous Coward · · Score: 0

      The whole "Only xxx remote holes ..." is totally stupid. They need to just drop that shit cause it can't hold water.

      And I love all the OBSD fanboys clamoring around trying to say "it ain't no thang".

    3. Re:Not in the default install by Anonymous Coward · · Score: 0
      "The whole "Only xxx remote holes ..." is totally stupid. They need to just drop that shit cause it can't hold water."

      All that statement means to me, is a reflection of the ATTITUDE of the OpenBSD project. If you take it as some sort of gauge of security, then you are an idiot.


      "And I love all the OBSD fanboys clamoring around trying to say "it ain't no thang"."

      Because they understand the issues, they are "fanboys". So you being ignorant means that you are "not a fanboy"?

      Ah, actually, "it ain't no thang", really. If you compare it with typical "remote vulnerabilities". This one actually REQUIRES LOCAL PHYSICAL ACCESS at least to the Ethernet network. So the danger stops at the first router. The fact that Theo concedes this as being a remote vulnerability, just shows how honest the guy is.

  18. Amiga : ZERO exploits !! by Anonymous Coward · · Score: 2, Funny

    Amiga : ZERO exploits !! About as many users !!

    1. Re:Amiga : ZERO exploits !! by Anonymous Coward · · Score: 0

      "Something wonderful has happened. Your Amiga is alive!"

      Nope, the Amiga definitely had more than one exploit...

    2. Re:Amiga : ZERO exploits !! by Joce640k · · Score: 1

      I'm pretty sure it was the Amiga which invented the whole computer virus scene.

      --
      No sig today...
  19. They've earned a mulligan, I think by peacefinder · · Score: 3, Insightful

    I'll spot them some skepticism or overconfidence. It's been proven again and again that they're right to think OpenBSD is a hard target, so it's understandable that they wanted to see proof before bumping their counter up.

    As for a "cover up"... well, if such a thing happend I'd say they must really suck at coverups, since we all know about it. :-)

    --
    With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
  20. Re:Well, I guess that confirms it... by tfeserver · · Score: 1

    Just OpenBSD. There are lot of other *bsd's.

  21. who the hell.. by Anonymous Coward · · Score: 1, Insightful

    ..uses IPv6? That's the first thing I turn off on every OS I've ever set up for a client (at least, ones where I can recompile the kernel).

    This is about as interesting as finding a hole in Gopher. (Except, well, Gopher is something from the past, and IPv6 is perpetually in the future [any day now, we'll all switch!]).

  22. Hats off by NonViviDaSola · · Score: 0

    My hat is off to Core Systems. This takes a lot of dedication as needles in the BSD haystack are very small indeed. I'm curious as to whether this was found by protocol fuzzing.

  23. Remote exploit? by Anonymous Coward · · Score: 0

    I dunno - seems if you need a local connection to the computer, even if through a few ethernet cables and a hub, it's not a remote exploit. I mean, if there was an exploit that could only be taken advantage of by a USB packet after passing through several hubs, it would still be considered a local exploit.

    1. Re:Remote exploit? by Anonymous Coward · · Score: 0

      No, remote is anything not on the local machine, rather than anything not on the local network - trust this guy, he's DJ Miller, one of the OpenBSD MCs.

    2. Re:Remote exploit? by Anonymous Coward · · Score: 0

      "I dunno - seems if you need a local connection to the computer, even if through a few ethernet cables and a hub, it's not a remote exploit."

      "Remote" in this context, does not refer to how far away someone is physically or logically. It refers to the fact that a system can be exploited without the need for access to a current account on that system. That is typically done by inserting crafted data into that system somehow, for some software on that system to then trip over. Whether it be a network service or kernel code otherwise acting on that data which it accepts into its running state.

      A local exploit, requires access to a local account. A remote exploit, does not. That's the difference.

  24. I loved how core was... by rivaldufus · · Score: 1

    gloating. Perhaps they know of an OS with a better record?

    1. Re:I loved how core was... by Aim+Here · · Score: 1

      Maybe they're gloating because it's not easy to get an OpenBSD vulnerability, unlike certain other OSes we can mention. Moreso, even, because their work will hit the front page of an Operating System's website. That doesn't happen every day if you're a security professional. Well, not unless you're Bruce Schneier of course...

      Maybe we should see the same thing on the Microsoft website: "Welcome, users. It has been 43 hours since our last remotely exploitable vulnerability in the default installation

    2. Re:I loved how core was... by TheRaven64 · · Score: 2, Informative

      Perhaps they know of an OS with a better record? I believe this title belongs to OpenVMS, although only running on VAX, Alpha and Itanium does rather limit the number of people with the skill required to take advantage of any holes. OpenVMS is, to my knowledge, the only OS to be banned from DefCon for being too hard to crack.
      --
      I am TheRaven on Soylent News
    3. Re:I loved how core was... by Anonymous Coward · · Score: 0

      it wasn't banned for being hard to crack, it was banned because the rules changed to only include x86 machines. Maybe that was an implicit banning, but I'm waiting for FreeVMS (http://www.systella.fr/~bertrand/FreeVMS/indexGB. html) to be finished, then I'll go with that ;)

    4. Re:I loved how core was... by MrNaz · · Score: 1

      43 hours? That must be some kind of record!

      --
      I hate printers.
    5. Re:I loved how core was... by Anonymous Coward · · Score: 0

      Try and own an AS/400.

    6. Re:I loved how core was... by HSpirit · · Score: 1

      Try and own an AS/400. Yes, indeed, I would have to mortgage my house to afford the repayments for an AS/400!

      Oh, you mean "Try and pwn an AS/400..."

  25. pablumfication by vocaro · · Score: 2, Interesting

    Can anyone explain what pablumfication means? The only hit is the very same report. I thought maybe it was pablumification, but that only gets two more hits.

    1. Re:pablumfication by chenjeru · · Score: 3, Interesting

      While 'pablumification' does seem to be a newly made word, the root 'pablum' is a bland children's porridge. The ever-handy Wikipedia has this to say:

      _In lower case, the word pablum is often used to describe anything bland, oversimplified and generally unsatisfying, especially a work of literature or speech. This usage is thought to derive from the cereal. Today, the word pablum and the original Latin word pabulum are often used interchangeably. In Canada, pablum remains as a generic reference to any instant baby cereal.

      _The phrase 'pablum puking', when used in political speech, is used to describe one who seems to lack the ability to digest simple logic or common sense. For example, someone who holds forth the argument that children should be afforded the freedom to play in traffic could rightly be refered to as a 'pablum puking idiot'. ..thus, the poster's creation of the word in reference to oversimplification.

      --
      Even if you're on the right track, you'll get run over if you just sit there. - Will Rogers
    2. Re:pablumfication by Cheapy · · Score: 2, Informative

      Sure. Look at the given text for the first google hit. It says "disneyification." This lead me to believe this term was referring to "pablum". So I looked that up, and found out that "pablum" is used to describe oversimplification of something.

      Wikipedia has a good entry on Pablum.

      --
      Would you kindly mod me +1 insightful?
    3. Re:pablumfication by rubmytummy · · Score: 1
      It's the same as with pedesagittry. You just have to riddle it out.

      This might help.

    4. Re:pablumfication by nthwaver · · Score: 1

      It's a neologismification.

  26. Time to make a list... by Anonymous Coward · · Score: 5, Funny

    -The Sox won the world series
    -The Pope died
    -Mac got Intel chips
    -The Berlin Wall came down
    -I out-lived 4 cats
    -Man walked on the moon
    -I got laid
    and...
    -BSD had a hole

    1. Re:Time to make a list... by bytesex · · Score: 5, Funny

      Do the facts that you got laid and that BSD had a hole have anything to do with each other ? Just asking - kids these days...

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    2. Re:Time to make a list... by Anonymous Coward · · Score: 0

      Makes me how many people got laid in coincidence with the hundreds of windows holes that have been uncovered in recent years....

    3. Re:Time to make a list... by Dr+Floppy · · Score: 1

      lmao. The only one I would have to change is not witnessing the moon landing. This gets my vote as the best comment Ive ever read on /.

    4. Re:Time to make a list... by Bugs42 · · Score: 1

      -The Sox won the world series Possible...
       

      -The Pope died Well, they do tend to run a bit on the ancient side.
       

      -I got laid Well now you're just screwing with me.
       

      -BSD had a hole I acuse you of lying! Oh wait...
      --
      Programmer: an ingenious device that converts caffeine into code.
    5. Re:Time to make a list... by Anonymous Coward · · Score: 0

      I thought when Windows had holes a lot of people got "screwed"...

  27. OpenBSD Website by Anonymous Coward · · Score: 5, Informative

    From the OPENBSD Website:
    Only two remote holes in the default install, in more than 10 years!

    At least they don't hide it.

    1. Re:OpenBSD Website by Anonymous Coward · · Score: 0

      of course they fail to mention that the default install is virtually useless to 99.9% of people that use BSD. Not to knock there security record but the default install does not show there true security record as 99.9% of people need more than a box with a kernel and everything network wise turned off.

    2. Re:OpenBSD Website by Anonymous Coward · · Score: 0

      you never installed openbsd, don't you?

    3. Re:OpenBSD Website by MrNaz · · Score: 1

      there != their
      And you did it twice to!

      --
      I hate printers.
    4. Re:OpenBSD Website by Farfnagel · · Score: 0
      to != too

      If you're going to be a grammar Nazi, at least learn the language.

    5. Re:OpenBSD Website by MrNaz · · Score: 1

      -- Joke
      -- You

      --
      I hate printers.
    6. Re:OpenBSD Website by LABarr · · Score: 1

      And in doing it so quickly on the front page of their website never made me more proud of my OS of choice.

      Long live OpenBSD!!!

  28. Sure it is by Sycraft-fu · · Score: 0, Flamebait

    In fact Microsoft has an OS that has zero remote exploits in a default install: DOS. No remote access (net support wasn't a part of a default install), therefore no remote exploits. OpenBSD likes to wave their cocks around about it a whole lot but what it comes down to is the OS isn't really comparable to most default Linux or Windows installs. It does the "everything is off by default" tactic. Ok, fair enough, but that doesn't really mean anything. After all one could say virtually any OS that has a firewall that blocks all inbound traffic has no remote exploits by default since there is no remote access by default.

    The real question isn't how many exploits there are in a default install, it is how many there are in a well maintained install in a particular environment. When you have a bunch of services opened up and running how well does something do?

    I'm not knocking OpenBSD on the security front, I am just saying that their security claim isn't a real meaningful one in terms of overall secure design. It is just proof of the statement "If there is no service, there can be no denial."

    1. Re:Sure it is by Anonymous Coward · · Score: 1, Insightful
      1. Isn't it the right thing to do having everything off by default?
      2. Are you claiming that Windows has more things on by default (based on 1, I'd consider that the wrong behaviour)?
      3. Windows doesn't have turned on by default any remote access tools as powerful and useful as OpenSSH.
      4. Windows default install doesn't include a mail server or a DNS server. OpenBSD has both of those, security audited and patched for greater safety.
  29. Needless sensationalism by iamacat · · Score: 0

    This bug just crashes the machine. Anyone who uses a desktop or notebook knows that crashes happen from time to time, regardless of the OS. There is no known way to run attacker's code, and TFA suggests that there is unlikely to be one.

    1. Re:Needless sensationalism by pinky99 · · Score: 1

      Did you ever heard something about Denial-of-Service - attacks? Especially when OpenBSD is preferrably used on routers, firewalls and gateways, with a high number of connected clients, a lot of other machines are dependant on this service...

    2. Re:Needless sensationalism by pinky99 · · Score: 1

      Did you ever come to hear something about denial-of-service attack? Especially in the case of OpenBSD machines, running often on firewalls, routers and gateways, a lot of other machines are dependant on this service...

    3. Re:Needless sensationalism by squiggleslash · · Score: 1

      Actually, no, the bug does allow remote access. Hence the initial bickering as to whether the bug constituted a "vulnerability" or not.

      On the 5th of March, Core Labs wrote a proof of concept that showed how the bug could be used to execute arbitrary code in the kernel.

      --
      You are not alone. This is not normal. None of this is normal.
    4. Re:Needless sensationalism by init100 · · Score: 1

      Anyone who uses a desktop or notebook knows that crashes happen from time to time, regardless of the OS.

      Ehrm, what? I didn't have any crashes at all in several years in Linux and very few crashes in Windows, except for known hardware issues.

    5. Re:Needless sensationalism by Anonymous Coward · · Score: 0

      There is no known way to run attacker's code, and TFA suggests that there is unlikely to be one.

      Who the hell is this TFA-guy, and what does he know?
    6. Re:Needless sensationalism by physicsnick · · Score: 1

      Anyone who uses a desktop or notebook knows that crashes happen from time to time, regardless of the OS. First, this is what years of using Windows has taught you, and it's not true. Second, OpenBSD is meant for servers, not notebooks. Servers should never, ever crash; they should be able to run for a decade without crashing (and OpenBSD does).

      There is no known way to run attacker's code, and TFA suggests that there is unlikely to be one. Yes, there is. Not only is it exploitable, but CoreLabs actually demonstrated a proof of concept remote code execution.
  30. More popular than you thought by minus9 · · Score: 1

    OpenBSD is only a target because it is so ubiquitous. If Microsoft windows ever becomes as popular, it too will become the target of such attacks. ;)

  31. If only.... by leereyno · · Score: 0, Troll

    If only OpenBSD were suitable for anything beyond a firewall.

    --
    Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    1. Re:If only.... by Noryungi · · Score: 1

      If only OpenBSD were suitable for anything beyond a firewall.

      Which simply proves you have never user OpenBSD for anything: I have an OpenBSD 4.0 machine on my desk that I use everyday. That machine is a cheap second-hand Dell laptop with a Celeron 1Ghz and 128MB of RAM (it has been upgraded to 384MB recently). It works perfectly, and allows me to listen to music while surfing the web (Firefox), reading email (Sylpheed), programming (shell, Perl, Python & C, with vim) and controlling distant servers through OpenSSH and ClusterSSH. I have even controlled Solaris 10 installations through a serial cable and Minicom with this machine.

      With 128MB of RAM, it used to swap a lot. With the recent RAM upgrade, it performs like a charm, and has never let me down so far. So, OpenBSD, only for firewalls? I don't think so. That little Dell laptop was the perfect machine (and my only machine!) when I was flat broke and I don't think it would have worked as well with a Linux distribution. OpenBSD has a lot of strengths, and security and firewalling are not the only ones...
      --
      The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
    2. Re:If only.... by TheRaven64 · · Score: 1
      I use OpenBSD on a co-located Mac Mini. At $22.99/month, it is very cheap (the mini only takes a fraction of 1U, so it's ideal for low cost bulk hosting). It runs mail, news, web, jabber, SILC and subversion servers for myself and a few friends, as well as providing a convenient place for me to test things. Current memory usage is 157MB, which is about as high as I've seen it. Load average peaked at 0.34.

      Currently, the biggest limitation of OpenBSD is the lack of DRI support. This means no 3D on a desktop, which rules it out for a lot of uses. If you want a server that's easy to admin over SSH and Just Works(TM), then I haven't found anything that beats it.

      --
      I am TheRaven on Soylent News
  32. Fixed in OpenBSD 4.1 by chrysalis · · Score: 2, Interesting

    Fortunately, that bug has been fixed before the OpenBSD 4.1 CDs were sent to the press.

    --
    {{.sig}}
  33. Wrong... by Phil+John · · Score: 4, Interesting

    ...it's roughly 5.67137278 × 10^28 IP's per person

    Or, as a recent Ars article put it (much better than I ever could):

    To put this into perspective: there are currently 130 million people born each year. If this number of births remains the same until the sun goes dark in 5 billion years, and all of these people live to be 72 years old, they can all have 53 times the address space of the IPv4 Internet for every second of their lives. Let nobody accuse the IETF of being frugal this time around.
    --
    I am NaN
    1. Re:Wrong... by obarthelemy · · Score: 1

      How can they make such a bold claim with no info on fertility rates ??? 130/year is a static figure, methinks it grows, maybe even exponentially

      --
      The Cloud - because you don't care if your apps and data are up in the air.
    2. Re:Wrong... by Phil+John · · Score: 1

      True, but it wasn't meant as a scientific metric, just as a rough guide to how awe-inspiringly large the IPv6 address space is.

      --
      I am NaN
    3. Re:Wrong... by Short+Circuit · · Score: 1

      There's something I don't understand, though. If IP addresses are divided into network and host sections, and one route based on the network section, won't you end up with geography-based constraints and waste?

      Let's say that you've got thirty /32 networks assigned to companies in New York. That's thirty times the IPv4 address space for a city of a few million people, with the gateways for those networks residing somewhere in New York. That's several billion unused IPs routed through a few points in New York.

      Now, there's room for a few billion /32 networks in the IPv6 address space, but what if IANA chooses to allocate /24 networks, or even /16 networks? That's a colossal number of IP addresses with a common routing point. Sure, you could implement things like VPNs, but you're then adding indirection (and thus inefficiency) to the network.

      If I'm wrong, somebody please explain. I'm kinda new to routing concepts.

    4. Re:Wrong... by Samhain · · Score: 1

      With IPv4 the routing is kinda random and is done by routers publishing and storing routing tables of what addresses they know about. This works, but it would not scale too well.

      When the designed IPv6 the thought about this and they actually built it with a plan for scalable routing.

      Now I remember reading once how this worked, but that knowledge has gotten lost in this too small brain. So either wait for someone else here to explain it or research it and you can explain it to me.

  34. Can we now please stop using C? by master_p · · Score: 2

    Isn't it enough? even the best programmers can make a mistake with C (and no, it may be programmers that make the mistakes, but you have to be at least a Q in order to make an 100% correct C program).

    Can we please stop using C?

    http://it.slashdot.org/comments.pl?sid=224594&cid= 18191856

    1. Re:Can we now please stop using C? by tomstdenis · · Score: 4, Informative

      No. Answer? C gives you more control over the hardware which is required for something like an OS. It also has things like "pointers" required for memory mapped I/O.

      C++ ? Out of the question. Too many hidden operations make development a nightmare.
      Java? Are you even kiddin me? (yes, I know there are Java OSes, how those working out for you?)
      C#?..

      ooh ooh I know, Perl!!!

      If you want to reduce your bugs [in any language] simple steps

      1. Design code that you can verify and test
      2. Write modular code
      3. Re-use code as much as possible

      In this case, it seems the mbuf pointer gets changed before it's accessed later in the function. If they had tracked the life of that variable they would have spotted it. That type of error could have happened in any language.

      --
      Someday, I'll have a real sig.
    2. Re:Can we now please stop using C? by Anonymous Coward · · Score: 0

      That type of error could have happened in any language.

      But in those other languages, that type of error doesn't result in strangers executing kernel-mode code on your computer.

    3. Re:Can we now please stop using C? by cyclop · · Score: 1

      I have no formal CS education, nor I know low-level languages, so I naively ask: can you explain thoroughly what makes impossible/impractical for a high level language like Python or C# to be used for a kernel OS? It's sincere curiosity, not trolling or what. Thanks.

      --
      -- Patent no.123456: A way to personalize /. comments with a sig attached to the end.
    4. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      First, you need pointers. A pointer is basically a value which holds the address of something. While in a scripting language you can pass variables to functions/subroutines it isn't always by reference (e.g. a pointer). Pointers are also used when dealing with hardware which is mapped into the memory space. You need to be able to say "dump this data, exactly here in memory." Something you can't do with most scripting languages. It's also required to build things like page tables (process memory maps).

      Second, you want to have the concept of volatile memory. Memory mapped registers, for instance, have to be accessed very explicitly. If I write something like

      while (*a == 0) { yield_thread(); }

      You can't cache the value of *a, you need to read it every single time the loop passes. C gives you this through the "volatile" modifier. Every time that loop iterates, the value is read from memory.

      Third, you need control over how CPU time is spent. While C doesn't give you direct control it's very close. In a scripting language, a routine may need JIT'ing or recompiling, which is a no-no in an interrupt handler (latency == bad).

      etc...

      The gist of it is that scripting languages don't give you enough control over the machine. C is a decent balance between being one with the machine and being human readable.

      Tom

      --
      Someday, I'll have a real sig.
    5. Re:Can we now please stop using C? by Teckla · · Score: 1

      First, you need pointers. A pointer is basically a value which holds the address of something. While in a scripting language you can pass variables to functions/subroutines it isn't always by reference (e.g. a pointer). Pointers are also used when dealing with hardware which is mapped into the memory space. You need to be able to say "dump this data, exactly here in memory." Something you can't do with most scripting languages. It's also required to build things like page tables (process memory maps).

      Just like C can drop down to assembly language for some required low level operations, Java can drop down to C for some required low level operations. The interface specification is called Java Native Interface (JNI).

      Second, you want to have the concept of volatile memory. Memory mapped registers, for instance, have to be accessed very explicitly. If I write something like

      while (*a == 0) { yield_thread(); }

      You can't cache the value of *a, you need to read it every single time the loop passes. C gives you this through the "volatile" modifier. Every time that loop iterates, the value is read from memory.

      Java also has "volatile", and it works the same way it does in C.

      Third, you need control over how CPU time is spent. While C doesn't give you direct control it's very close. In a scripting language, a routine may need JIT'ing or recompiling, which is a no-no in an interrupt handler (latency == bad).

      Theoretically, this part of a Java OS would be implemented at the JVM level; i.e., it would be native code. Also, there's no reason you couldn't pre-compile all the Java kernel code. Java compilers do, in fact, exist, such as Excelsior JET and GCJ.

      etc...

      The gist of it is that scripting languages don't give you enough control over the machine. C is a decent balance between being one with the machine and being human readable.

      Java isn't a scripting language.

    6. Re:Can we now please stop using C? by k8to · · Score: 1

      C allows you to express yourself directly in terms of memory layout. When interacting with hardware, this is often a requirement. While Python and C# contain special extensions which allow you to refer to memory blocks and do pointer-like things, try doing something like specifying that a certain buffer will reside at a specific address in physical memory.

      One of the reasons people migrate away from C to something like C# or Java is precisely because the language model does not directly relate to the memory layout, thus greatly limiting the possibility for logic errors to overwrite memory, which is the source of all sorts of bugs, security or otherwise. But it is this precise aspect of C which is a requirement for systems programming.

      It might be possible to design a language that would allow you to express the memory layout of both code and data without allowing logic errors to scribble over memory. It would have to rely on very strong build-time checks, and it might raise the complexity cost of use high enough to destroy its value. I have not used such a language. All efforts I have investigated to do systems programming in languages other than C still implement the low level operations in C.

      --
      -josh
    7. Re:Can we now please stop using C? by schlouse · · Score: 1

      I have no formal CS education, nor I know low-level languages, so I naively ask: can you explain thoroughly what makes impossible/impractical for a high level language like Python or C# to be used for a kernel OS? It's sincere curiosity, not trolling or what. Thanks.

      That's actually a fairly difficult question to answer in this context. It's fairly obvious to anyone that has to regularly deal with this kind of thing, but difficult to explain for the same reason-- it can be hard to figure out why it's not obvious to the person asking the question.

      Simply put, most high-level languages presuppose support for the features they would need to be implementing. What is a Python dictionary? A hash table. Where does the memory this hash table use come from? The Python Object allocator, which sits atop the Python raw memory allocator, which sits atop the C library allocator, which sits atop the OS virtual memory implementation, which sits atop the OS kernel implementation of memory page management, which sits atop the code that talks to the hardware MMU (memory management unit), which sits atop the hardware memory itself. Typically all of this couples with the CPU and the low-level hardware cache management and/or chipset in myriad unholy ways.

      Now I ask you: if simply declaring Python ints or strings or dicts requires all of this, how do you expect to be able to write an OS using these ints, strings, and dicts?

      Does that make any sense? Concrete is a great tool for building foundations, but not so great for building bookshelves or kitchen tables with.

    8. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      I never said Java was a scripting language (and hint: scripting languages do compile to byte code, I imagine some even to native code).

      If you have to drop down to C or ASM via JNI then you're exposing the flow of the program to segments which can have overflows and all that other jazz. You're also making the system more complicated by mixing design tools. Now you need both a C development suite *and* a JDK. Tools only help with security, they don't create it. And what you sacrifice by going to a JVM based OS isn't always made up for in terms of practical security.

      In most software that have trivial overflow bugs, they exist because the "programmers" don't verify their code. They test that [say] some JPEG will decompress and that's it. They don't test that their functions are well behaved or in anyway secure. It's not a function of C being insecure, it's a function of a lot of programmers not taking their job seriously [and/or not given the time to test/verify properly].

      Tom

      --
      Someday, I'll have a real sig.
    9. Re:Can we now please stop using C? by jimstapleton · · Score: 1

      The only way to avoid the dangerous parts of such bugs is to use a VM based language, or something similar.

      And those are written in C/C++/Assembly. Which means that you have to trust /they/ didn't make any mistakes in /their/ code, or if it JIT like Java, their conversion of their code into system binary code.

      "Not using C" is a fools answer, another reply to this post mentioned proper testable programming paradigms (sp?) and that, regardless of language, is the correct answer.

      --
      34486853790
      Connection too slow for X forwarding? Try "ssh -CX user@host"
    10. Re:Can we now please stop using C? by LWATCDR · · Score: 1

      You could use objective C. I still think C++ is a possibility as well.
      I think the idea is that perhaps the TCP/IP stack shouldn't be written in C. Yes the lower level kernel functions need to be in a low level language but some of the higher level functions do not.
      While I really like and use Linux a lot I keep thinking that maybe now is the time to move away from monolithic kernels. Minix 3 looks kind of interesting.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    11. Re:Can we now please stop using C? by fatphil · · Score: 1

      4. Test, test and test again. In particular where you try and break your own modules.

      I agree - this wasn't a 'C' problem, this was a design problem.

      --
      Also FatPhil on SoylentNews, id 863
    12. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      To add to this, "test, verify, and audit." Testing just ensures that the function conforms to vectors, meets efficiency requirements, etc. Verification ensures the function behaves properly and try to prove it correct. (e.g. with malicious inputs, over a wider range, corner cases, etc).

      Generally, when I write a test or verification routine, if I don't uncover at least one bug in new code (that I'm testing) I don't think I've accomplished much. On the days where I uncover weird cases of errors I'm most happy. Knowing that your test software is capable of exposing bugs is a really good thing ;-)

      Auditing is something that doesn't always happen sadly. That's where you have other people who didn't write the code, or the test code, wade through the functions and discern what they do and how they handle all of the use cases. Basically, a fresh pair of eyes. This step is usually omitted because it's either hard to find someone who hasn't touched the code, or the company is too busy to go over the code with yet another person. Overall fresh eyes are a good idea. Usually all of the low hanging fruit type bugs can be found within moments of handing code over for an audit.

      --
      Someday, I'll have a real sig.
    13. Re:Can we now please stop using C? by UnknownSoldier · · Score: 1

      > C++ ? Out of the question. Too many hidden operations make development a nightmare.

      What do you think Embedded C++ is for?

      There is absolute NO reason to still be using C in _2007_. Use a subset of C++, and turn of that Exceptions, and RTTI garbage. You want to catch as many mistakes as possible at compile time. Use a better compiler (and better language.)

    14. Re:Can we now please stop using C? by UnknownSoldier · · Score: 1

      > can you explain thoroughly what makes impossible/impractical for a high level language like Python or C# to be used for a kernel OS?

      Because of memory mapped IO. Hardware maps its IO to a particular memory address. Most high level languages won't let you explicitly set the address of the raw pointer.

      i.e.
      On the PS2, there is a 16K block of fast ram, called scratch pad.

      enum
      {
          SCRATCHPAD_ADDRESS = 0x70000000;
      } // And when you want to use...
      char * pTemp = SCRATCHPAD_ADDRESS; // char, int, etc....

      Also, most high-level languages "sandbox" pointers to prevent buffer overflows, but there are times when you need to initialize and use pointer to a specific memory address OUTSIDE the VM environment. In this particular case it is not a bug.

      Basically the problem boils down to...

      Speed vs Flexibility vs Performance vs Safety

      Pick 2.

      Cheers

    15. Re:Can we now please stop using C? by l4m3z0r · · Score: 1

      What's the alternative? Any language sufficiently low level to program an operating system in will have the same issues C does, because you have the ability to manipulate memory addresses you can create unexpected behavior. Many "better" languages as you suggest wont solve the issue, if they are intepreted the interpreter is likely written in C, or a language sufficiently low level to have the same issues as C. Which only means that bugs are hidden from you by some layer that you dont understand and maybe don't even have access to the source of. If you are relying on some hardware byte code interpreter.

    16. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      That's not C++, that's some derivative of C++ with a few tweaks to the language. C compilers exist on pretty much every 32 and 64-bit platform. They [any worth talking about] compile C89 and a decent subset of C99. The majority of the Linux kernel, including device drivers is in the form of C source code. Your PCI network card, for instance, works the same regardless of what CPU is actually driving the system, why should the code change?

      Exceptions are a runtime concept, and generally not very ideal for things like an interrupt handler (hint: stack space, timing, latency).

      As to general question as to why people still use C in 2007...

      1. Highly optimizing compilers exist for it
      2. It's pretty easy to go low level
      3. It's high level enough to organize code easily
      4. It has functionality required to do hardware control
      5. It's ubiquitous. Compilers exist everywhere for all sorts of processors/platforms
      6. Lots of existing legacy code is available in C

      Believe it or not, but not every application benefits from the overhead of runtime checks, and the like.

      Tom

      --
      Someday, I'll have a real sig.
    17. Re:Can we now please stop using C? by Anonymous Coward · · Score: 0

      Nothing makes it impossible to write an entire OS in a safe language like C#. There is an existence proof -- Microsoft Research's Singularity Project.

    18. Re:Can we now please stop using C? by Anonymous Coward · · Score: 0

      Could you explain what you mean when you say that C++ has "hidden operations"? The language doesn't do anything you don't tell it to do -- it's not the language's fault if you don't understand what you're telling it to do.

    19. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      Classes call the constructor/deconstructor/etc automatically, for instance,

      class bignum ... blah blah.

      int main(void) { bignum a; return 0; }

      That function can call a constructor. Even though it doesn't look like there is a function call in it. Functions can return new instances, which also override the existing one, e.g.

      bignum a, b, c; // constructor called

      a = b * c; // value of b*c held in temporary instance, could be copied into a, or simply overwrite the instance of a, thereby calling the deconstructor.

      etc, etc, etc. Multiply that by a million lines of code and voila. Not a big problem when you got cycles and memory to burn, but can be a problem if you're running in a low memory scenario (hint: kernels use locked pages of which you try to have few) or low latency (hint interrupts).

      Yes, you can tame C++, but from a glance at the code it's not obvious all that is going on underneath.

      Tom

      --
      Someday, I'll have a real sig.
    20. Re:Can we now please stop using C? by Anonymous Coward · · Score: 0

      It is not [enter preferred language here]'s fault. Just because you can do weird things like

      &(*de,1)(2)[3](-~de++^(*!de,5)==6,7)->self

      (every operator overloaded) in C++, it has defined semantics, and it is the programmer at fault when s/he does not fully understand what's going on and writes potentially pitfalling code.

    21. Re:Can we now please stop using C? by Anonymous Coward · · Score: 0

      I think a better question in this context is why use C for programs such as named, sshd, httpd and others that do not need to access hardware or memory pools directly like kernels do. Why? Reasons other than tradition, please.

    22. Re:Can we now please stop using C? by master_p · · Score: 1

      Ada, Cyclone, Erlang are your friends.

    23. Re:Can we now please stop using C? by Old+Wolf · · Score: 1

      C++ ? Out of the question. Too many hidden operations make development a nightmare.

      Such as?

    24. Re:Can we now please stop using C? by Old+Wolf · · Score: 1

      int main(void) { bignum a; return 0; }

      That function can call a constructor. Even though it doesn't look like there is a function call in it.


      Well, it looks like there is a function call, to anybody who has bothered to learn C++.

      In fact, the /entire purpose/ of such a class would be to more concisely express:
          BIGNUM a;
          BN_init( &a ); /* ... */
          if ( the_time_is_right() )
              BN_free( &a );

      with the added benefit that you cannot accidentally forget to free it. If, for some reason, you wanted to use a bignum and not initialize it, or not free it, then you would not use this API.

      There's no trickery going on.

    25. Re:Can we now please stop using C? by Old+Wolf · · Score: 1

      Functions can return new instances, which also override the existing one, e.g.

      bignum a, b, c; // constructor called

      a = b * c; // value of b*c held in temporary instance, could be copied into a, or simply overwrite the instance of a, thereby calling the deconstructor.

      Can you post your equivalent C code, that is supposedly more efficient?
      I don't see how you're going to avoid initializing a,b,c, or assigning something to 'a'.

      If you are really concerned about the compiler being unable to optimise out the temporary result of (b * c), then you could write:

          a = b;
          a *= c;

      which is fully equivalent to C code like:
          BN_assign(a, b);
          BN_mult_by(a, c);

    26. Re:Can we now please stop using C? by tomstdenis · · Score: 1

      I'm not strictly saying C is more efficient, I'm saying it's more explicit.

      If, for example, you see

      mp_init_multi(&a, &b, &c, NULL);

      You know that we're initializing three variables. In the case of my math libs you can d

      mp_mul(&a, &b, &c); // c == a * b

      Which doesn't create temporary instances and is simpler than

      mp_assign(&a, &c);
      mp_mul(&b, &c);

      As you had written.

      Again, my point isn't to knock C++ or OOP, it's to say that it's not the best for an OS development. You want clear, simple, explicit and concise tools.

      Tom

      --
      Someday, I'll have a real sig.
    27. Re:Can we now please stop using C? by Teckla · · Score: 1

      I never said Java was a scripting language (and hint: scripting languages do compile to byte code, I imagine some even to native code).

      I'm not sure there's even a generally agreed upon definition for "scripting language".

      If you have to drop down to C or ASM via JNI then you're exposing the flow of the program to segments which can have overflows and all that other jazz.

      That's true; however, if 99.9% of your code is written in a "safe" language and only 0.1% of your code is written in an "unsafe" language, you've limited your exposure to potential exploits such as stack smashing to only 0.1% of your code. That's a whole lot better than 100% of your code being potentially vulnerable.

      You're also making the system more complicated by mixing design tools. Now you need both a C development suite *and* a JDK. Tools only help with security, they don't create it.

      Yes, that may be one of the unfortunate prices you have to pay, but the price is not that high, and the benefits of using a safer language for the majority of your development are substantial.

      And what you sacrifice by going to a JVM based OS isn't always made up for in terms of practical security.

      The sacrifices may or may not be worth it. It's a very subjective thing.

      In most software that have trivial overflow bugs, they exist because the "programmers" don't verify their code. They test that [say] some JPEG will decompress and that's it. They don't test that their functions are well behaved or in anyway secure. It's not a function of C being insecure, it's a function of a lot of programmers not taking their job seriously [and/or not given the time to test/verify properly].

      In reality, all programmers write code with bugs. It's often advantageous if those bugs take the form of an ArrayIndexOutOfBounds exception and terminate the thread or program, rather than allow things like a stack smash exploit to take over your entire machine and turn it into a zombie or trojan (or worse).

    28. Re:Can we now please stop using C? by Old+Wolf · · Score: 1

      I think
          a = b * c;

      is more clear, concise and simple than:
          mp_mul(&a, &b, &c);

      For example , in the latter it's not immediately obvious which one is
      the result!

      It would be even better if you used proper variable names for a,b,c.

      I don't understand your comment about being 'more explicit'. A
      multiplication with infix notation does not seem any more 'vague'
      to me than one with prefix notation; in fact it seems preferable.

  35. Not enabled = not default install by Anonymous Coward · · Score: 1, Interesting

    "Default install" means "enabled by default". Look at the errata. For example:

    # 001: SECURITY FIX: March 25, 2006 All architectures
    A race condition has been reported to exist in the handling by sendmail of asynchronous signals. A remote attacker may be able to execute arbitrary code with the privileges of the user running sendmail, typically root. This is the second revision of this patch.

    Since sendmail only listens on localhost doesn't affect slogan.

    Not mention apache or bind, that must manually enabled.

    Yeah, this makes the slogan a nonsense (and I use OpenBSD everyday and I really like it, every Internet faced system runs on it).

  36. Kind of overblown, but potentially serious by badger.foo · · Score: 3, Informative

    "OpenBSD systems using default installations are vulnerable because the default pre-compiled kernel binary (GENERIC) has IPv6 enabled and OpenBSD's firewall does not filter inbound IPv6 packets in its default configuration."

    - the default configuration on a fresh install actually has pf disabled (no two networks are exactly alike, and if you enable pf but do not supply your own rule set, a default rule set which passes dns, ssh and some icmp is enabled). Then again, any sane config with pf enabled will have "block all" as the default action and only pass inet6 if you are actually using inet6. This means that the vast majority of OpenBSD machines out there will have the equivalent of the advisory's block rule in their rule sets already.

    "However, in order to exploit a vulnerable system an attacker needs to be able to inject fragmented IPv6 packets on the target system's local network. This requires direct physical/logical access to the target's local network -in which case the attacking system does not need to have a working IPv6 stack- or the ability to route or tunnel IPv6 packets to the target from a remote network."

    This narrows the scope quite a bit.

    Essentially the sky did not fall this time either, but I can see the OpenBSD developers taking another pass of "reading the code much like the devil reads the bible" over the ipv6 stack and the general neighborhood once again.

    However, OpenBSD users have been instructed to update their systems already.

    --
    -- That grumpy BSD guy - http://bsdly.blogspot.com/
    1. Re:Kind of overblown, but potentially serious by Nazadus · · Score: 1

      What it really means is those with a wireless network are more open than others or those at a datacenter, depending on how the DC manages their LAN.

      --
      "Do or do not. There is no try." -- Master Yoda (Half man, half muppet)
    2. Re:Kind of overblown, but potentially serious by archen · · Score: 1

      I guess I find it sort of interesting that people say "update that firewall". If you have a firewall it's passing traffic out, and last I heard IPV6 wasn't growing by leaps and bounds. So why have IPV6 enabled if you don't need it? I understand the BSD team wants the default IPV6 ready, but if you're setting up a serious firewall then you should take most everything you don't need out of the kernel - that would include ipv6 for just about everyone.

      And really you shouldn't have IPV6 compiled in any other BSD or Linux on a firewall if you have no plans on using it in my opinion. You can always compile it back in when everyone is ready to play.

    3. Re:Kind of overblown, but potentially serious by Anonymous Coward · · Score: 0

      I can see the OpenBSD developers taking another pass of "reading the code much like the devil reads the bible" over the ipv6 stack and the general neighborhood once again.

      The funny thing is, very few people use IPv6 today.

      Many people recompile the OpenBSD kernel without IPv6 because they don't need it.

    4. Re:Kind of overblown, but potentially serious by yo_tuco · · Score: 1

      "...but if you're setting up a serious firewall then you should take most everything you don't need out of the kernel - that would include ipv6 for just about everyone."

      Which is highly likely too. Because if you don't have a hard drive in the your router, most likely you've recompiled the kernel to size it down, set the processor and commented out drivers and features you're not going to use.

  37. The VM by Dolda2000 · · Score: 1
    Sorry, but the sibling seems to have been kind of clueless. The basic problem with a language like C#, that makes it impossible to use to write kernel code, is that it doesn't actually run on your actual, physical computer. It requires an emulator (what is commonly called a virtual machine), which does run on your physical computer. Obviously, when you write code that runs on a physical computer, you need to write it in a language that is compilable to the binary code of that computer, and the best language currently available for that purpose is, you guessed it, C.

    Some might argue that C# and Java code is compilable to native code ("just look at gcj"), but the fact is that those compilers include a huge lump of library code into the final binary which is both written in another language (often C) and that depends heavily on OS functionality.

    Of course, in the end, even C isn't enough. When writing kernel code, one will always need assembler in a couple of places to do the really low-level things like setting process control registers in order to do context switching and set virtual memory parameters.

    Once the VM code has been written in a low-level language like C or assembly, though, the vast majority of kernel code can be written in a language like Java -- Just look at JNode, which has a small VM written purely in assembler, with all the high level kernel code like scheduling, drivers or the network stack implemented in Java. I do have criticisms against such systems, but it does prove that it is possible to write a large part of the operating system in Java.

    1. Re:The VM by tomstdenis · · Score: 1

      You write an entire competive kernel without pointers, let me know how that works out for ya.

      --
      Someday, I'll have a real sig.
    2. Re: The VM by Dolda2000 · · Score: 1
      I've never used C#, so I can't speak for it, but you seem to suffer from the delusion that Java doesn't have pointers. However, that's what Java arrays are. If you think about it, you'll realize that they are exactly the same thing as a pointer in C -- a base address and a size increment. They do have the added advantage of a length parameter, but that doesn't exactly hurt their function. ;)

      The "difference" between Java and C in this regard is that Java explicitly lacks that ability to create arbitrary pointers. However, ANSI C lacks this functionality as well. The standard leaves expressions such as "(int *)0x1337cafe" undefined. It is merely architecture-specific compilers that define them, to mean things such as loading a numeric constant into an address register. However, as I did mention, *every* kernel needs assembler code anyway, so there's no problem implement a static, native Java method in assembler to do numeric pointer allocation.

      Again, just look at JNode (noting, again, that I never did say that I like JNode, but that it is a proof of concept).

    3. Re: The VM by tomstdenis · · Score: 1

      Well PCI hardware [for instance] is not part of the C standard either. But if I read a BAR and get 0x1337BABE as the base address of some register, I can plomp that down into a pointer and use it (well it's obviously not aligned nicely but I just made it up)

      You can't do that in Java. At least, not without resorting to JNI hacks. And if you're going to drop down to JNI to do all the nitty-gritty work, you might as well stay there.

      Building a desktop on top of Java, that kinda makes sense. A kernel? No way.

      Tom

      --
      Someday, I'll have a real sig.
    4. Re: The VM by Dolda2000 · · Score: 1

      Well PCI hardware [for instance] is not part of the C standard either. But if I read a BAR and get 0x1337BABE as the base address of some register, I can plomp that down into a pointer and use it
      Yeah, you happen to be able to do that with most compilers on i386, PPC and SPARC, but there's absolutely no guarantee that you can on any CPU, nor with any compiler. As such things invoke undefined behavior according to the standard, you may just as well get a bus exception, hard freeze or even a compile error when you try such things on an arbitrary architecture. Consider, for example, a CPU where loading an address register is a privileged operation, or an architecture with seperate I/O and memory busses, or an architecture with seperate byte and word address spaces. Although I'm not experienced enough to quote specific examples, I'm not making these examples up. You can browse through the comp.lang.c FAQ to find other amusing architectures.

      You can't do that in Java. At least, not without resorting to JNI hacks. And if you're going to drop down to JNI to do all the nitty-gritty work, you might as well stay there.
      As long as you're using the term "Java" to refer to "The Java Language Specification" from Sun, then you should also use the term "C" to refer to the ISO C99 standard, in which case you cannot do it in C either, as described above. At least, not without resorting to assembly hacks. And if you're going to drop to to assembly to do all the nitty-gritty work, you might as well stay there, no?

      Just as well as Intel's CC, GCC and MSVC are able to extend C as to be able to do "char *p = (char *)0xbabecafe;", I don't see the problem extending the Java language to be able to do "byte[] p = System.createBytePointer(0xbabecafe, length);".

      Building a desktop on top of Java, that kinda makes sense. A kernel? No way.
      Again, did you ever look at JNode. It might be interesting, considering that they've, well, done that.

      Of course, I might well agree that it doesn't make sense to write a kernel in Java -- believe me, you will have trouble finding a more stern opponent to Java as a language than me. It is definitely possible, though. The only difference between doing it in C vs. in Java, is that doing it in C requires less assembly programming.

    5. Re: The VM by tomstdenis · · Score: 1

      Obviously not all platforms use PCI, nor BAR's directly. That's not a function of C, that's a function of the platform.

      Most custom platforms just assume the developer knows the addresses of MMIO. In which case you plomp it into registers.

      You're arguing that C doesn't provide a portable hardware layer to the low level devices. Well ... um neither does Java. A Java VM on, say a gameboy, has no more access to PCI registers than a C program does. What's your point?

      And yes, some platforms have different memory layouts, addressing rules [e.g. dword aligned], but that's all easily addressable in C. If you look at the Linux kernel for instance, most of it is C with VERY little asm. Even MMIO can be controlled via C. Often you only have to drop to ASM when the exact order of operations is required.

      As for extending Java, that opens it up to all sorts of problems. For instance, if you munge the address, you could then be writing to process space, or other hardware, etc. It's also very inefficient to create a GC'ed object every time you want to flip at bit in some MMIO register.

      Tom

      --
      Someday, I'll have a real sig.
    6. Re:The VM by cyclop · · Score: 1

      Thanks for all the comments. Now I understand more clearly. However, it would be possible to have a C/asm microkernel exposing an API and then a number of modules written in high level languages (if they don't need to deal with low-level things?)

      --
      -- Patent no.123456: A way to personalize /. comments with a sig attached to the end.
    7. Re:The VM by thermostat42 · · Score: 2, Informative
      --
      no comment
    8. Re: The VM by Dolda2000 · · Score: 1

      Obviously not all platforms use PCI, nor BAR's directly. That's not a function of C, that's a function of the platform.

      Most custom platforms just assume the developer knows the addresses of MMIO. In which case you plomp it into registers.

      You're arguing that C doesn't provide a portable hardware layer to the low level devices. Well ... um neither does Java. A Java VM on, say a gameboy, has no more access to PCI registers than a C program does. What's your point?

      I didn't write a single word about PCI (that was you). I was writing about pointer management in general, from the standpoint of C. In case I've made myself unclear, I will summarize our discussion so far, from my perspective:

      1. I explained to the OP that the problem with writing a kernel purely in Java is only that there needs to be a VM, which needs to be written in a language that is runnable on the native CPU.
      2. You argued that it is impossible to write a kernel in a language without pointers, seemingly implying that Java doesn't have pointers.
      3. I tried to explain that Java indeed has pointers. They're just called arrays instead, and have an additional length constraint. I also tried to imply that there is a difference between the existence of pointers and the ability to create arbitrary pointers, and that, while certain (most) compilers have indeed extended the C language to permit creation of arbitrary pointers on most architectures, the C99 standard leaves such actions as "invoking undefined behavior", so there's very little difference between Java and C in that regard.
      4. You argued that you can just read a BAR from PCI and plomp that value down in a register in C and use it as a pointer, and that the same would be impossible to do in Java without resorting to lower layers such as JNI.
      5. I repeated that the pointer creation ability ("plomping") is not at all guaranteed in C, but is created as a language extension in certain (most) compilers. I also cited some specific examples of architectural aspects that would impose constraints on pointer creation. I then argued that you seem to be much more strict with Java than with C, requiring to stick to Sun's Java Language Specification, while with C you allow the arbitrary extensions that are just part of certain (most) compilers. I argued that if you were to do the same with C -- sticking to the C99 standard -- then pointer creation would be impossible, and you would have to resort to lower layers such as assembler to do that, just like in Java, and that it is similarly possible to create a language or library extension in Java to do pointer creation.

      Then we come to your latest post:

      And yes, some platforms have different memory layouts, addressing rules [e.g. dword aligned], but that's all easily addressable in C. If you look at the Linux kernel for instance, most of it is C with VERY little asm.

      I'm not sure what your point is here. If you're arguing against my architectural examples, then I can only say that 1) they were rather unimportant examples to cite possible constraints on pointer creation in C and 2) they were quite more fundamental than just bus alignment constraints or memory map layouts. To show that, let me infer the pointer creation constraints in each of my examples:

      • A CPU where address register loading is a privileged operation: User-mode programs will suffer bus errors when doing things such as "char *p = (char *)0xdeadbeef;". Malloc would need to be a syscall.
      • An architecture with separate memory and I/O busses: Where does "(char *)0xdeadbeef" refer -- memory or I/O? C cannot even handle these things.
      • An architecture with separate byte and word address spaces: If you have an "int *p", you cannot do "char *cp = (char *)p;", since cp and p would then refer to two entirely different memory locations.

      Even MMIO can be controlled via C. Often you only have to drop to ASM when the exa

  38. where's puffy? by noldrin · · Score: 1

    what, do they change their logo each time an exploit is found

    1. Re:where's puffy? by Anonymous Coward · · Score: 0

      Their art is updated twice a year, once for each release. You should read up before making more of those stupid comments, neh?

  39. Netcraft confirms... by axus · · Score: 0, Troll

    Somebody please paste it already

  40. Forced release? by Just+Some+Guy · · Score: 4, Insightful

    FTFA:

    2007-02-21: Core sends draft advisory and proof of concept code that demonstrates remote kernel panic.
    2007-02-26: OpenBSD team develops a fix and commits it to the HEAD branch of source tree.
    [...]
    2007-03-05: OpenBSD team notified of PoC availability.
    2007-03-07: OpenBSD team commits fix to OpenBSD 4.0 and 3.9 source tree branches and releases a "reliability fix" notice on the project's website.
    [...]
    2007-03-13: Core releases this advisory.
    Release Mode: FORCED RELEASE

    Kudos to Core Security for finding an exploit in OpenBSD code. Seriously, that's impressive. However, it sounds like they're a little too pleased with themselves. "Forced release"? I guess that's technically true, in the sense that a feather exerts a gravitational force on the Earth.

    In a nutshell, they reported a problem and OpenBSD fixed it. Then they demonstrated that it was a more serious problem, and OpenBSD backported the fix to the current releases and announced it on their website. After reading the whole timeline, I'm not sure what else they were supposed to have done so that Core wouldn't be "forced" to announce the vulnerability that OpenBSD publicized on their own site as a "security fix" three days earlier.

    --
    Dewey, what part of this looks like authorities should be involved?
  41. Given C's track record their are alternatives by Anonymous Coward · · Score: 0

    http://en.wikipedia.org/wiki/Java_Servlet and http://en.wikipedia.org/wiki/User-mode_Linux and http://www.gnusolaris.org/gswiki just to name a few- as far as "pure" java goes (it's a pain in the ass to read) their are other's that aren't: http://processing.org/ for one

  42. Better Languages by RAMMS+EIN · · Score: 1

    I'm not pretending I'm more knowledgeable about security than the OpenBSD devs, but I have to say this: if they had programmed the thing in a safe language (specifically, one which does not allow buffer overflows to be coded), this vulnerability would not have occurred.

    The fact that the OpenBSD team didn't catch this vulnerability, despite their expertise and effort, means it could happen to anyone. It would be well to remember this next time someone says "yeah, C is an unsafe language, but you just have to be careful to check your bounds and use fgets instead of gets". Sure, no useful language can completely prevent one from writing insecure code (so there is always responsibility on the part of the programmer), but every vulnerability that the language rules out is a win.

    C is one of the worst languages security-wise (and, arguably, productivity-wise). I would hesitate to call anything written in C "secure".

    --
    Please correct me if I got my facts wrong.
  43. function pointers by Sloppy · · Score: 1
    In the meat of the article, it talks about a structure called m_ext which is inside of mbuf, and..

    This second structure contains the variable ext_free, a pointer to a function called when the mbuf is freed. Overwriting a mbuf with a crafted ICMP v6 packet (or any type of IPv6 packet), an attacker can control the flow of execution of the OpenBSD Kernel when the m_freem() function is called on the overflowed packet from any place on the network stack.

    I never really looked at OpenBSD under the hood, so I'm kind of surprised that there are function pointers being stored inside of complex dynamic structures like that. If I were on the team, I'd be taking a long hard look at every damn function pointer that gets stored anywhere, to make sure none of those can get overwritten either. Sheesh, I normally think of the code segment and the stack as the only places where this kind of crap can happen, but obviously that's just not the case. Yeah, in hindsight, I'm a moron.

    Another thing that springs to mind here, is that I wonder if the basic idea behind this attack could be applied even to "safe" languages; anywhere where there's some sort of callback that gets stored with data. Even in a Python program, if you store a callback of some kind inside of some data, and someone figures out how to corrupt that data, the callback could end up not going where the programmer expected it to. Hm. Of course, the trick is: how would an attacker corrupt the data? That's where "safe" languages still do feel safer.

    Anyway, all that aside, this story doesn't really change my overall admiration for the OpenBSD team. It's a shame to see them not be able to keep their undefeated bragging rights, though.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  44. Think of the children!! by wandazulu · · Score: 1

    I made a mistake in a Ruby program where I swapped two sets of numbers and stuffed the wrong ones into a database table, which caused all kinds of major hassles...why didn't Ruby stop me from being so stupid? Why didn't Ruby know that I was putting cost into price and price into cost? What a stupid language...Can we please stop using Ruby?

    To your point, every programmer makes mistakes in every language. C has the distinction of being the language that most operating systems and even other languages (e.g. Ruby) are written in, so when a bug comes up in said operating system or language, people always shake their fist at C and say how direct access to memory is evil and must be avoided like the plague.

    Problem is, *somebody's* gotta do it. Those variables in don't come for free, even though it seems like it. Behind the covers Matz or Guido or whomever had to malloc() and cast and deal with all that nitty gritty to give the illusion that it's all for free. When a problem comes up, as it inevitably will, they fix it and move on.

    It all comes down to problem domain. If I need to parse a text file and put some data into a database table, I'll whip up a Ruby script and away I go. If I need to write an operating system or a new language, I'll pick the tool that gives me the most flexibility and power, always acknowledging that I'm juggling chainsaws, and that for me, as for pretty much everyone else in the same boat, is C.

  45. Languages don't kill people by Tony · · Score: 2, Insightful

    First, there has to be a lot of low-level code just to be able to boot most modern computers. Any high-level, non-native language (Python, Perl, C#, etc) need to have an OS to run their VM. Anything low-level, such as disk access, memory management, process management, etc, requires more-or-less direct access to the hardware. This means assembly, in many cases.

    Fully-native object oriented languages like Objective-C are no better than C for security. In fact, they bring their own set of baggage with them. Hybrid ("half-assed") object languages like C++ are worst of all, as they unite the simplicity of Brainfuck with the inherent security of C and the speed of Perl. (Drawbacks of C++ exaggerated for comic effect. If you are a C++ weenie, please don't take offense.)

    When it comes down to it, for general-purpose operating systems, there's not been found a better way than the combination of ASM + C.

    I think the issue is, where does the OS stop and the application space begin?

    Does the whole TCP/IP stack *need* to be written in C? Probably not. Considering the amount of use it gets, it's probably a great place to optimize for performance, though, so writing it in C helps.

    And I'm not convinced the problem is the language. The OpenBSD folks have written a good, solid OS in C, with very few exploits. I've seen exploits in Perl, Python, C#, the .Net framework, and most other popular languages. And it's easier to take advantage of a Perl or Python or .Net exploit when you find them, as you don't need intimate knowledge of the underlying architecture.

    As usual, the debate is not as simple as, "C bad, everything else good."

    Anyway, that's my rant, and I'm sticking to it.

    --
    Microsoft is to software what Budweiser is to beer.
    1. Re:Languages don't kill people by Anonymous Coward · · Score: 0

      As usual, the debate is not as simple as, "C bad, everything else good."

      Well said. C isn't perfect but it has many things going for it. One of those
      things is that there is such a large amount of code already in existence that
      is reasonably well debugged and works that its simply not worth the effort of redeveloping it in new "better" languages.

      The old saying about horses for courses applies to so many things in computing. For operating systems and similar low level coding the C horse is almost always the winner.

  46. One remote hole in default install, in three days! by Anonymous Coward · · Score: 0

    haha

  47. There (probably) was one in November 2004 by tetromino · · Score: 3, Interesting

    See http://www.ubuntu.com/usn/usn-30-1; something like 7 vulnerabilities were found in the kernel's smbfs driver which could be used for remote DoS and potentially for remote root, at least on some configurations (the Linux community decided to fix the bugs instead of waiting for exploit code to appear). There may have been other remote root exploits since then -- I haven't been keeping track.

    1. Re:There (probably) was one in November 2004 by Deorus · · Score: 1

      "at least on some configurations" doesn't sound exactly like a "default install", does it?

    2. Re:There (probably) was one in November 2004 by Anonymous Coward · · Score: 1, Insightful

      "at least on some configurations" doesn't sound exactly like a "default install", does it?


      Well, the Linux kernel doesn't have a default install... But most distros did enable smbfs by default.
  48. Microsoft's record by Mr+44 · · Score: 1

    Truely remotely exploitable bugs are rare on any OS. As far as I can tell, Windows has had 3 in the last 5 years (MS03-001, MS03-049 and MS06-040). There was a remote DoS in 2005 (MS05-051), but everything else has been on the scale of "get the user to click open this malformed file/link/whatever". Bad, but an order of magnitude better than something where an attacker can just own you with no action on your part.

    3 in 5 years is definitely worse than OpenBSD's 2 in 10 years record, but many linux fans seem to have the impression there's a remotely exploitable bug found in windows every month....

  49. correction by Mr+44 · · Score: 1

    And yeah, to stave off the responses, its tricky on what you call a "remotely exploitable" bug...

    Take the trio of MS-039, MS-040, MS-042 (which my search missed while writing the above post). Yeah, they are remotely exploitable, but for most configurations, you need to have valid logon credentials to the machine... Again, its bad, but even if you had an upatched box unprotected on the net, those wouldn't enable remote code execution unless the attacker could already log onto the machine.

  50. OpenBSD and the security myth by jnf · · Score: 2, Interesting

    I think its interesting that BSD doesn't consider DoS attacks as being a vulnerability anymore, this is especially interesting when you consider that many DoS attacks that are reported end up being remote code execution vulnerabilities that the given researcher couldn't figure out, or the vendor didn't take the time to figure out. This is especially the case with OpenBSD if you look at the CORE timeline, the OpenBSD team attempted to say remote code execution was impossible, as they did when Dowd found the OpenSSH bug, and it took a proof of concept to make them accept they had another bug.

    If you cross reference DoS attacks against OpenBSDs changelog and figure that even a small amount (say 10%) of them were remotely exploitable (which is being kind), then you have a lot of remote bugs in OpenBSD and even more in FreeBSD. The fact that the vendor doesn't call them bugs just brings images of DJB to mind, but it doesn't impact the fact that your box could get owned.

    What this ultimately means is that, OpenBSD is pretty good when it comes to security, but that their party line is mostly marketing hype. I just submitted a paper to a few conferences dealing with a given bug I've found, it also affects OpenBSD (but it's not a default remote root bug for them), but what it does show is how proactively secure they are, because they copy/pasted the same section of code as everyone else and missed a very obvious bug.

    1. Re:OpenBSD and the security myth by Anonymous Coward · · Score: 0

      security is something everyone wishes to be an expert at.
      but very few find their own bugs and even fewer can exploit
      them.

      core obviously has a guy who likes to sit around and look
      at gdb output of what is in the heap by stepping through
      the program.

      he then will tweak his payload a million times over until
      he manages to succeed in his goal. all the while watching
      how the data is placed in the heap.

      a determined hobbyist can get into a system given
      time if the darn box does has a reasonably complicated daemon
      listing on a port on a pub IP address.

      l chuckle everytime someones mentions sudo.
      hi everyone on efnet

    2. Re:OpenBSD and the security myth by Anonymous Coward · · Score: 0

      So you claim at least 10% of OpenBSD DoS bugs are actually remotely exploitable, offer no proof, then give vague details about a paper you've supposedly submitted on a bug which isn't remotely exploitable under OpenBSD. You don't even say what piece of software this was.

      For all we know, it was some external third party stuff, maybe BIND or something, which according to the very goals of the project are imported with minimal changes and do not undergo the same review process that OpenBSD code does. Since you say this affects multiple projects and give zero details, I'm going to assume this is the case.

      Yeah, way to go, you really showed the people how much of a myth OpenBSD security is!

      Anyway, what is unreasonable about performing your own analysis of a bug, decide that it doesn't seem remotely exploitable to you, then when someone shows proof, acknowledge you were wrong. Isn't that how science works?

    3. Re:OpenBSD and the security myth by jnf · · Score: 1

      So you claim at least 10% of OpenBSD DoS bugs are actually remotely exploitable, offer no proof, then give vague details about a paper you've supposedly submitted on a bug which isn't remotely exploitable under OpenBSD. You don't even say what piece of software this was.

      Troll. That isn't what I said at all, I said if we figure, based upon experience as a security researcher for a well known respected firm, that even a small percentage of DoS conditions in *bsd is actually an exploitable condition, say 10% then we have a fairly significant amount. If you worked in the industry you would have some understanding of the amount of bugs that get reported as DoS that are actually much more, this holds especially true if the vendor found the bug.

      What I actually said about OpenBSD is the truth, its a fairly secure OS, but the secure by default line is just that, a marketing line. As for the science crud you're perpetuating, the bottom line is that anyone who finds (and reports) a bug in OpenBSD has to fight the issue through to the point where the OpenBSD can't deny it, there is a reason Mark Dowd's OpenSSH exploit was called 'SSHutupTheo', so it's not a matter of science, it's the same principle behind most law firms- the average person won't fight, nolo contendere.

      As for my talk, what do I give a shit if some random guy on slashdot believes me or not? I can disclose here or let your company pay thousands of dollars to hear it at blackhat, the bottom line is, if you use kerberos in openbsd, you're ownable.

    4. Re:OpenBSD and the security myth by Anonymous Coward · · Score: 0

      "security is something everyone wishes to be an expert at."

      Which is pretty funny, when you consider that there is no such thing as an expert in computer security. There never has been, and there never will be. There are only people who are good at bringing VALUE to the PROCESS of security.

      It is like saying someone is an expert in forcasting the future, because every now and then they APPEAR to do so. Or to put it another way, "an expert of the unknown".

      Still, there are plenty of people around making wild claims and getting paid megabucks not because they are good with computer security, but because they are good with people.

    5. Re:OpenBSD and the security myth by Anonymous Coward · · Score: 0
      "I think its interesting that BSD doesn't consider DoS attacks as being a vulnerability anymore, this is especially interesting when you consider that many DoS attacks that are reported end up being remote code execution vulnerabilities that the given researcher couldn't figure out, or the vendor didn't take the time to figure out."

      Regardless of what they believe it to be at the time, they patched it promptly. The label of being an issue of reliability or security, is merely to vaguely inform users of the severity. It was patched promptly and then later found to be a security issue, which the OpenBSD project publically acknowledged.


      "This is especially the case with OpenBSD if you look at the CORE timeline, the OpenBSD team attempted to say remote code execution was impossible, as they did when Dowd found the OpenSSH bug, and it took a proof of concept to make them accept they had another bug."

      What would you know the OpenBSD project ATTEMPTED to say and where did you find the word "impossible" from the OpenBSD project in this matter? Why don't we stick with what they DID say. I don't want YOUR interpretation. What they DID say, was "it would be surprising to be able to run arbitrary code".

      The OpenBSD project "would be surprised", they then subsequently were surprised and promptly upgraded the status from a reliability issue, to one of security.


      "If you cross reference DoS attacks against OpenBSDs changelog and figure that even a small amount (say 10%) of them were remotely exploitable (which is being kind), then you have a lot of remote bugs in OpenBSD and even more in FreeBSD. The fact that the vendor doesn't call them bugs just brings images of DJB to mind, but it doesn't impact the fact that your box could get owned."

      The "vendor" DOES consider them bugs. They just draw the distinction that the bug IS KNOWN to cause a reliability issue, but is NOT CURRENTLY ***BELIEVED*** TO BE A SECURITY ISSUE. Where "security issue" includes the running of arbitrary code and therefore potentially the gaining of remote access.


      "What this ultimately means is that, OpenBSD is pretty good when it comes to security, but that their party line is mostly marketing hype. I just submitted a paper to a few conferences dealing with a given bug I've found, it also affects OpenBSD (but it's not a default remote root bug for them), but what it does show is how proactively secure they are, because they copy/pasted the same section of code as everyone else and missed a very obvious bug."

      The "party line" is a statement of fact. How you interpret it is up to you. I take it merely as a statement which reflects the ATTITUDE of the leadership behind the OpenBSD project. Anyone who took it as something more than that, probably ought to be running something else, since they clearly are not capable of understanding the significance of "secure by default". It does not mean our software is absolutely secure, it means our software installs and exposes little by default. It is a clean system for which to build upon, as opposed to a kitchen sink system to whittle down.



      BTW, I am not the other AC you have been talking with, however I do work in the industry. Also like you (I'm assuming here), in a research capacity (expert witness) for law firms. If you do actually provide advice for law firms and perhaps affidavits and testify as a witness, then I would expect you to stick to the facts and not interpret that someone "attempted" to say something was "impossible". That is a pretty huge leap from the facts available.

      I did not become respected by prestigious legal firms and courts by reading into what someone was trying to say. That crap, does not fly in court and you would very soon be considered a joke and not chosen by any firm or taken seriously by any court, once the other side has looked into your past sloppyness as a witness.

    6. Re:OpenBSD and the security myth by jnf · · Score: 1

      Regardless of what they believe it to be at the time, they patched it promptly. The label of being an issue of reliability or security, is merely to vaguely inform users of the severity. It was patched promptly and then later found to be a security issue, which the OpenBSD project publically acknowledged.

      Indeed it was promptly patched and I won't attempt to take that away. My question was more in dealing with the motives of calling it reliability instead of security, and one has to wonder how many other reliability patches there are out there and if this pablumification of security patches does a greater disservice to the OpenBSD userbase ('oh its not an important patch it can wait till a stable release/monday/whatever').

      What would you know the OpenBSD project ATTEMPTED to say and where did you find the word "impossible" from the OpenBSD project in this matter? Why don't we stick with what they DID say. I don't want YOUR interpretation. What they DID say, was "it would be surprising to be able to run arbitrary code".

      The OpenBSD project "would be surprised", they then subsequently were surprised and promptly upgraded the status from a reliability issue, to one of security.


      You are indeed correct, that was poor wording on my part and was not so much an attempt to mislead on my part but rather a case of being inarticulate. My overall point however still remains, was this a truthful impression or more egotistical blabber in an attempt to avoid admitting to another bug in the default install? And that this makes me question their firm belief in security because they put their users at risk by silently patching, redefining terms and contorting security fixes to be reliability fixes.

      The "vendor" DOES consider them bugs. They just draw the distinction that the bug IS KNOWN to cause a reliability issue, but is NOT CURRENTLY ***BELIEVED*** TO BE A SECURITY ISSUE. Where "security issue" includes the running of arbitrary code and therefore potentially the gaining of remote access.

      Misuse of the word on my part, I meant to say vulnerability. The fact that the OpenBSD team does not consider them a vulnerability is absolutely fucking absurd. I work as a security researcher and my company will not let us release advisories for things that are only DoS attacks, so I understand the difference but there are plenty of security implications from a DoS, even if it is not as useful or glamorous as remote code execution.

      My overall point is that I can't help but wonder if the choice to not refer to it as a security vulnerability has to do with the desire to not modify the 'x bugs in x years' line.

      The "party line" is a statement of fact. How you interpret it is up to you. I take it merely as a statement which reflects the ATTITUDE of the leadership behind the OpenBSD project. Anyone who took it as something more than that, probably ought to be running something else, since they clearly are not capable of understanding the significance of "secure by default". It does not mean our software is absolutely secure, it means our software installs and exposes little by default. It is a clean system for which to build upon, as opposed to a kitchen sink system to whittle down.

      It's a statement of contorted facts, I've kept a fairly close eye on the changelog off and on and am aware of the number of reliability fixes in there, and I've even dug into some of them, and I will leave it at that, but it will be interesting to see how many reliability fixes come out in the IPv6 code, which is incredibly shaky (and then digging backwards how many reliability fixes have there been dealing with mbuf's? more than one, I know that).

      Taking it as a sign of the attitude is absurd and thats like nike saying that their claims to not run sweatshops was covered by their first ammendment rights.

      BTW, I am not the other AC you have been talking with, however I do work in the industry. Also like you (I'm assuming here), in a research capacity (expert witness) f

    7. Re:OpenBSD and the security myth by Anonymous Coward · · Score: 0
      "My question was more in dealing with the motives of calling it reliability instead of security,"

      They did not say that it was not a security issue, they said they believed it was only a reliability issue, because they would be surprised otherwise. Once they were shown to be wrong, they conceded it was a security issue.

      I don't want to make a guess at someone's motives when it can be explained and shown to be something so innocent.

      "and one has to wonder how many other reliability patches there are out there and if this pablumification of security patches does a greater disservice to the OpenBSD userbase ('oh its not an important patch it can wait till a stable release/monday/whatever')."

      The OpenBSD project has a history of assuming the worst and patching promptly to be safe. I would expect that even OpenBSD has remote root vulnerabilities right now, just waiting to be found. But I think comparatively, they would be much less in number than the average across other OSS OS and non-OSS OS.

      "My overall point however still remains, was this a truthful impression or more egotistical blabber in an attempt to avoid admitting to another bug in the default install?"

      Your overall point is actually really weak, because it is merely a hypothetical. In fact it is not even a point, it is a question. If you extend it further without solid proof, then it could only become conjecture.

      I thought Theo was pretty quick to update the main www page to 2 holes.

      "And that this makes me question their firm belief in security because they put their users at risk by silently patching, redefining terms and contorting security fixes to be reliability fixes."

      Well unless you can show that they do actually intentionally contort a security fix into a reliability fix, then I'll ignore that. I think the terms need to be agreed on, on a wider scale, because reducing them to a word or two leave lots of room for ambiguity for the people who have to decide whether they should patch NOW or after trading hours or during low traffic times.

      OpenBSD silently patches to the -stable branch, bugs which they do NOT believe to be severe. Where severe is anything including local or remote DoS, privilege escalation or access or serious reliability issues. They do silently patch, but only what they believe is safe to do so. If they think something is theoretically vulnerable, they place a notification on the errata page. They don't have the time to research each theoretical bug to see if it actually can be exploited, so I would expect that sometimes, as in this case, they will miss the importance of something. The end result being that people following -current, -stable or getting the next -release, will be patched, but those applying patches manually, will not. I think the people behind OpenBSD project can be forgiven for being human.

      "Misuse of the word on my part, I meant to say vulnerability. The fact that the OpenBSD team does not consider them a vulnerability is absolutely fucking absurd."

      I think maybe the greater security community needs to agree on expanding the terms then, so people can quickly identify how vulnerable some bug is. Something like "Reliability Vulnerability" versus "Security Vulnerability".

      "My overall point is that I can't help but wonder if the choice to not refer to it as a security vulnerability has to do with the desire to not modify the 'x bugs in x years' line."

      Again, I would not want to speculate. I'd rather just judge them on what they did do and have done in the past.

      I think you are being unfair to them over a hypothetical.

      "It's a statement of contorted facts, I've kept a fairly close eye on the changelog off and on and am aware of the number of reliability fixes in there, and I've even dug into some of them, and I will leave it at that, but it will be interesting to see how many reliability fix

  51. The question is by Anonymous Coward · · Score: 0

    The question is when will Symantec and/or McAfee jump all over this.

    Is it not time for their respective security "experts" to publish articles on
    BSD/Linux/Unix being overridden with holes/bugs/malware etc based on this
    new "evidence" on how BSD is no different than Windows?

    That seems to be their tactic on OS X.

  52. The Firefox team has a better policy...? by Myria · · Score: 1

    The Firefox team somehow has a better policy about this type of bug than the OpenBSD team. Denial-of-service bugs that show signs of memory corruption are considered the same as actual remote code execution exploits, even if no method of executing code is known. (Of course, "remote code execution" in Firefox means visiting a malicious website.) Such exploits appear in red on this page along with the direct exploits: http://www.mozilla.org/projects/security/known-vul nerabilities.html

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
  53. IPv6 wireless? by ipjohnson · · Score: 1

    My local Starbucks offers IPv4 wireless. As well as everyother hot spot around here so I highly doubt thats going to happen ;-)

  54. The weak link again. Clean up your net. by twitter · · Score: 0, Troll

    does not, in any way, mean "far away," as the attacker has to be able to inject fragmented IPv6 packets, which is extremely hard to control (impossible?) from the other side of a layer 3 device.

    If that's true, they nail the Windoze machine on the other side and blast you from your own DMZ. Once again, your network is only as strong as it's weakest link. This is why I have no Windoze in my network.

    --

    Friends don't help friends install M$ junk.

  55. How reduced a scope is one in four machines? by twitter · · Score: 0, Troll

    So nobody from the net can crack your machine, they must already me on your local net. This greatly reduces the scope of this attack.

    That's only true if your local network is not filled with an OS that has a 1/4 botnet ownership rate. When your own machines can be used against you, all bets are off.

    --

    Friends don't help friends install M$ junk.

    1. Re:How reduced a scope is one in four machines? by jb.hl.com · · Score: 1

      That's only true if your local network is not filled with an OS that has a 1/4 botnet ownership rate.

      Please, shut up.

      The article (which you keep linking to) does not say "25% of all Windows installations in a botnet", it says "25 Percent of All Computers in a Botnet?". COMPUTERS. That includes Linux, Mac OS, the BSDs and, yes, Windows. Ever heard of IRC botnets twitter? Ones that tend to run on *nix shells using eggdrop and such? They're pretty large, by most measures.

      That and the article isn't even definite. The 150 million/600 million figure was an estimate: to quote TFA, "150 million of them might be participants in a botnet". The figure was an estimate. No real measurement was done on it, it was just an estimate, not hard fact.

      So kindly, stop using an article which doesn't even have the word "Windows" in it and refers to an estimate of 25% of all computers of all OSes connected to the Internet to bash Windows. It's stupid and nowhere near accurate. Not that I expect any more from you, twitter, but hey.

      --
      By summer it was all gone...now shesmovedon. --
  56. Pedesagittry by Poromenos1 · · Score: 1

    Great! I knew what pablumfication meant but now I can't guess what pedesagittry is. Please explain.

    --
    Send email from the afterlife! Write your e-will at Dead Man's Switch.
    1. Re:Pedesagittry by rubmytummy · · Score: 1

      Damian Conway made it up to describe certain unintended side effects of (mis)using $_ in Perl.

      Here's a hint: in Latin a sagittarius is a kind of archer, and a pedes viator is a traveler on foot.

  57. Relative bug increase... by CoolCat23 · · Score: 1

    Can't understand why you here at /. spit at Windows everytime a mere new bug is found in it, when OpenBSD just doubled its known bugs list !

  58. Microsoft: OpenBSD bugs doubling every year by jbburks · · Score: 1

    Press release from the borg marketing machine: The number of bugs in the OpenBSD system is doubling every year!

  59. Re:The weak link again. Clean up your net. by Keith+Russell · · Score: 1

    From TFA:

    However, in order to exploit a vulnerable system an attacker needs to be able to inject fragmented IPv6 packets on the target system's local network. This requires direct physical/logical access to the target's local network -in which case the attacking system does not need to have a working IPv6 stack- or the ability to route or tunnel IPv6 packets to the target from a remote network.

    Would you mind explaining to the rest of us where Microsoft Windows is a specific requirement for any of the stated conditions?

    Or perhaps you could explain how any operating system could stop a user with malicious intent from sending or relaying bad packets?

    --
    This sig intentionally left blank.
  60. It's not *just* about having money by paranode · · Score: 1

    But if you want to be fair then OpenBSD should take notes from Microsoft on how to be *successful*.

    The problem with both points is they assume that these two entities are striving to be like each other when they are not. At all.

  61. new name by Anonymous Coward · · Score: 0

    I think from now on it should be called OpenBSE.

  62. Re:The weak link again. Clean up your net. by twitter · · Score: 0, Troll

    Would you mind explaining to the rest of us where Microsoft Windows is a specific requirement for any of the stated conditions?

    Sure, I can do that. It's not really a requirement, it just makes it easy to do and expands the scope out again. Of course, there's not much of a reason to nail the OpenBSD machine if you already own the clients that enter the data in the first place. I suppose the point of all of this is to worry about and eliminate the biggest problems first. Things like OpenBSD are broken once a decade, while Windoze is never fixed.

    It's nice to see you back Kieth.

    --

    Friends don't help friends install M$ junk.

  63. Wrong about LISP machines by Anonymous Coward · · Score: 0

    If you mean, did the CADR processor read/write memory at addresses, then yes it used "manual memory management".

    If you mean, did the system software use garbage collection for managing resources, then no it did not use manual memory management, it used GC.

    As in "the object oriented programming style used in the Smalltalk and Actor families of languages is available in Lisp Machine Lisp, and used by the Lisp Machine system software".

    Sheesh, get it right.

  64. Re:The weak link again. Clean up your net. by Keith+Russell · · Score: 1

    You just replied to me with a link to the post I was replying to in the first place. Brilliant! I guess you can't really explain what Windows has to do with any of this, so your only recourse is the Twitter Tautology:

    Windoze is teh sux00r. Therefore, Windoze is teh sux00r.

    If this is the only way you can force Windows into the debate, you've already lost.

    --
    This sig intentionally left blank.
  65. Re:The weak link again. Clean up your net. by twitter · · Score: 0, Troll

    You just replied to me with a link to the post I was replying to in the first place. Brilliant!

    Sorry, but no loss you read all of my posts anyway. Keep reading.

    --

    Friends don't help friends install M$ junk.

  66. Translation by Anonymous Coward · · Score: 0

    "I'm stupid and I can't do anything about it. Sorry."

  67. For the conspiracy nutters... by Anonymous Coward · · Score: 1, Informative

    From:

    http://marc.info/?l=openbsd-misc&m=117404837006368 &w=2

    List: openbsd-misc
    Subject: Re: Important OpenBSD errata
    From: Theo de Raadt
    Date: 2007-03-16 11:40:54
    Message-ID: 200703161140.l2GBesJD020460 () cvs ! openbsd ! org

    > This is idiotic, a big hole was found and the devs pissed about
    > because they didn't want to admit it.

    Noone in OpenBSD is pissed off about this. We posted the bug fix as
    soon as we became aware of the problem. The timeline goes like this:

    1) We were told there was a mbuf crash, which could remotely CRASH
    the machine. There was no proof that more could be done, not even
    a whiff.

    2) We commited the fix, about 24 hours later. It took a few days to
    get the errata up because the people who do that were at a conference.
    It was labelled as a RELIABILITY FIX because everyone felt it was just
    a CRASH. I then entered into a long conversation with Core explaining
    why we label crash fixes (even remote) as RELIABILITY FIXES.

    3) Core felt maybe something more could be done and continued working,
    and ONE WEEK LATER later, finally managed to show us brand new code
    which showed that intrusion was possible. Before that moment, it
    was still just confirmed to be a CRASH.

    4) A few hours after we become aware that it was more than a CRASH, we
    changed the advisory to say it was a real security risk. We first had
    to get the patch into -stable,

    I changed index.html to talk about there being TWO remote holes in
    more than 10 years, without even discussing this with any other
    developer, because I knew it was true. Other developers in the group
    were stunned to see me change it.

    5) Core decided that their advisory should include their interpretation
    of our discussion as to why OpenBSD labels crash fixes as RELIABILITY
    FIXES. Three times I told them that I thought that was a mistake,
    and that the public would not understand the reasoning as they wrote
    it.

    That is what happened. If you don't believe me, mail Ivan Arce at
    Core and ask him if any of the 5 points above are wrong. Come on, go
    ask him if I am a liar... go ahead.

    Yes, some of the press got it wrong too, and part of that I feel is
    Ivan Arce's fault. He should have been more cautious at explaining
    the complex discussion OpenBSD had with Core, where we explained why
    we label errata for remote crashes a Reliability Fix. Or he should
    have skipped it altogether.

    He even went around telling the press that this shows that IPV6 is a
    risky new technology, when the fact is that this was a mbuf corruption
    bug, in code that all parts of the network stack could potentially use
    in the same way. He's got his layers wrong. But finding bugs in
    other people's software lets companies like Core sell themselves as
    experts. They are experts, but the good press they get should not
    cost us in this way.

    Let's see... the fsck_ffs fix pedro commited a few hours ago. That
    fixes a serious problem where fsck fails to spot filesystem
    corruption. Should we spend time fully assessing how rare or common
    this situation is, and then errata it up the stream as fast as
    possible, maybe even consider if there are security risks from such
    filesystem corruption? Come on. Yet that is what some non-experts
    moan for. They want projects with only a few people (who are doing
    this for a hobby) to struggle down these well-defined p

  68. Unknown holes are not exploitable by Joseph_Daniel_Zukige · · Score: 1

    by anyone who doesn't know the hole. It's a race.

    Sure, the average user who sees the claim doesn't really fully appreciate the meaning, but _every_ OS is in the same race. So sometimes it's okay to let some of the semantics slide.

    Perhaps it would be more forthright to say "Only two known remote holes found before we patched them." or something like that, but that would also lead to a miscommunication.

    The point is that it is that much better than anything else available in this way. That part is not a miscommunication.

    joudanzuki

    1. Re:Unknown holes are not exploitable by Anonymous Coward · · Score: 0
      "by anyone who doesn't know the hole. It's a race.

      Sure, the average user who sees the claim doesn't really fully appreciate the meaning, but _every_ OS is in the same race. So sometimes it's okay to let some of the semantics slide.

      Perhaps it would be more forthright to say "Only two known remote holes found before we patched them." or something like that, but that would also lead to a miscommunication.

      The point is that it is that much better than anything else available in this way. That part is not a miscommunication.

      joudanzuki"



      Nicely said. It's amazing how some people will jump on a successful project because of how something they state can be interpreted.

  69. Theo de Raadt's response by whamett · · Score: 2, Informative

    There's an informative message from OpenBSD project leader Theo de Raadt outlining the timeline. Excerpt:

    Noone in OpenBSD is pissed off about this. We posted the bug fix as soon as we became aware of the problem. The timeline goes like this:

    1) We were told there was a mbuf crash, which could remotely CRASH the machine. There was no proof that more could be done, not even a whiff.

    2) We commited the fix, about 24 hours later. It took a few days to get the errata up because the people who do that were at a conference. It was labelled as a RELIABILITY FIX because everyone felt it was just a CRASH. I then entered into a long conversation with Core explaining why we label crash fixes (even remote) as RELIABILITY FIXES.

    3) Core felt maybe something more could be done and continued working, and ONE WEEK LATER later, finally managed to show us brand new code which showed that intrusion was possible. Before that moment, it was still just confirmed to be a CRASH.

    4) A few hours after we become aware that it was more than a CRASH, we changed the advisory to say it was a real security risk. We first had to get the patch into -stable,

    I changed index.html to talk about there being TWO remote holes in more than 10 years, without even discussing this with any other developer, because I knew it was true. Other developers in the group were stunned to see me change it.

    5) Core decided that their advisory should include their interpretation of our discussion as to why OpenBSD labels crash fixes as RELIABILITY FIXES. Three times I told them that I thought that was a mistake, and that the public would not understand the reasoning as they wrote it.

    That is what happened. If you don't believe me, mail Ivan Arce at Core and ask him if any of the 5 points above are wrong. Come on, go ask him if I am a liar... go ahead.

    Yes, some of the press got it wrong too, and part of that I feel is Ivan Arce's fault. He should have been more cautious at explaining the complex discussion OpenBSD had with Core, where we explained why we label errata for remote crashes a Reliability Fix. Or he should have skipped it altogether.

    He even went around telling the press that this shows that IPV6 is a risky new technology, when the fact is that this was a mbuf corruption bug, in code that all parts of the network stack could potentially use in the same way. He's got his layers wrong. But finding bugs in other people's software lets companies like Core sell themselves as experts. They are experts, but the good press they get should not cost us in this way.

    Core Security certainly deserves credit for finding this. Their advisory and de Raadt's timeline, however, give rather different impressions. Perhaps reading both will give a more complete picture.

  70. .. more things to your list. by aliquis · · Score: 1

    - AmigaOS 4.0 final is out!

    Does Java as open-source and under GPL count?

  71. Um, no. by Estanislao+Mart�nez · · Score: 1

    [...] if they had programmed the thing in a safe language (specifically, one which does not allow buffer overflows to be coded), this vulnerability would not have occurred.


    No, this can be guaranteed only to the extent that the underlying language implementation is safe. There's plenty of space for errors in implementing a language, which can in principle lead to exploitability. (Do you want to vouch for the absolute security of, say, the Java HotSpot VM? I've seen it dump core, I can tell you.)