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."

70 of 338 comments (clear)

  1. 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 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?
    2. 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.
    3. 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
    4. 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
  2. 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 bean123456789 · · Score: 2, Funny

      Opensource my ass...

      I believe I speak for everybody when I say no.

  3. 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 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.)

    5. 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
    6. 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.
    7. 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
    8. 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.
    9. 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.

    10. 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.

    11. 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
    12. 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
    13. 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?
    14. 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.

    15. 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
    16. 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?
    17. 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.
    18. 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.

  4. 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
  5. 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

  6. 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 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.

    3. 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.

    4. 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

    5. 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.
    6. 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 ?

    7. 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
    8. 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.

    9. 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.

  7. 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 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.

  8. 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 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.
  9. 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.

  10. Holy Cow, an OpenBSD Vuln? by Anonymous Coward · · Score: 5, Funny

    Thank GOD I run the company webserver on NT!

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

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

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

    See! I told you ipv6 was evil!
    You mean ipv666 don't you?
  13. 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
  14. 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.

  15. Re:Moo by BrainInAJar · · Score: 3, Funny

    An IP for everyone. Bah!

    why, That's Communism!

  16. 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?
  17. 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.
  18. 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.

  19. 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}}
  20. 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
  21. 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.
  22. 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
  23. 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/
  24. 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
  25. 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?
  26. 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.
  27. Re:The VM by thermostat42 · · Score: 2, Informative
    --
    no comment
  28. 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.

  29. 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.

  30. 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.