Slashdot Mirror


OpenSSL Security Vulnerability

SiliconEntity writes "On the heels of multiple OpenSSH vulnerabilities, the OpenSSL project is now reporting a number of security vulnerabilities of its own. OpenSSL is a standard cryptographic library used in a wide variety of security applications. The new vulnerabilities range from denial-of-service attacks to stack corruption, which imply the possibility of running malicious code. New versions of the software are released today which address the vulnerabilities."

24 of 245 comments (clear)

  1. phew by Anonymous Coward · · Score: 5, Funny


    thank goodness i use windows

    1. Re:phew by Troll_Kamikaze · · Score: 5, Funny

      Hell, Microsoft is even kind enough to send the "Latest Internet Patch" right to my inbox. Sometimes 36 times a day, when necessary!!

      Now that's what I call service!

  2. pheeew by Dreadlord · · Score: 3, Funny

    fortunately I'm running something secure like telnet, those OpenSSH bugs never scare me...

    --
    The IT section color scheme sucks.
  3. Feeling kinda good about it by ThenAgain · · Score: 3, Informative

    At least we find out when where vulnerable BEFORE the exploits start rolling out. I'm also yet to hear of Linux bringing the net to it's knees when some kid writes an e-mail virus.

    Also, it took me less than a minute to patch my webserver. That's good design.

    1. Re:Feeling kinda good about it by Overly+Critical+Guy · · Score: 4, Insightful

      At least we find out when where vulnerable BEFORE the exploits start rolling out.

      As opposed to what? The months before Blaster came out that the patch was available?

      Things like this just illustrate that all software has bugs. OSS is not a magic solution, and Microsoft does not hire poor programmers. That won't stop rampant anti-"M$" trolls of course, but the more rational of us can look at this and move on.

      --
      "Sufferin' succotash."
    2. Re:Feeling kinda good about it by ebay+troll · · Score: 5, Funny

      excellent poster!!!!!!! responded in less than 5 minutes, pleasure to work with, quick response

      A+++++++++++!

    3. Re:Feeling kinda good about it by wfberg · · Score: 4, Insightful

      At least we find out when where vulnerable BEFORE the exploits start rolling out.

      As opposed to what? The months before Blaster came out that the patch was available?


      To be fair; that patch didn't install on a significant portion of machines (any system running w2k sp2), and the work-around Microsoft suggested didn't either, and if it did, it didn't until a reboot, which wasn't mentioned.
      Add to that that the first patch appeared to install but did not (and would also not "re"install) on a number of machines. Today microsoft advises you to run a firewall and anti-virus programs all over their webpage. Before the blaster incident they didn't, because they hadn't dropped the ball quite as badly yet.

      I also find it (not so..) amusing that the System File Checker doesn't work without the DCOM service running (which isn't running for example, in Safe Mode, a Mode you'd expect sfc to be used in), and that DCOM for some reason listens to any one who will talk to it, rather than, by default, restrict access to 127/8.

      --
      SCO employee? Check out the bounty
  4. Re:Got the popcorn by Skyshadow · · Score: 4, Insightful
    Looks like there were "a number" of vulnerabilities. Perhaps they should have waited?

    Waited for what, perfection?

    In a Real World environment, "pretty safe" is a whole hell of a lot better than nothing. So long as flaws are fixed quickly after being identified, I don't see what the problem is.

    If you want *real* security, you need an air gap. Otherwise, quit yer bitchin'.

    --
    Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
  5. Why is some software more secure than others? by cras · · Score: 5, Insightful

    I got annoyed at the slashdot comments last time there was security hole in OpenSSH and wrote this page (copy pasted below). I count OpenSSL as insecure software - we need a secure replacement. GNUTLS looks somewhat better, but I don't trust it too much either.

    Why is some software more secure than others?

    How do you measure software security?

    Here's my definition on what is secure software.

    Intro

    I get really tired of seeing these kinds of comments every time some widely used software has security holes:

    • No software is secure. The difference is how quickly they fix it.
    • It's good that they were found. Now we have less security holes.
    • Popular software gets more security audits which is why they seem to have more security holes.

    While they may be partially true, I think they're also very misleading and disparages the hard work that some secure software authors have done.

    Simplicity Is Security

    The difference between secure and insecure software is really the coding techniques being used by it's authors. Authors of secure software do everything they can to prevent accidental mistakes from ever happening. Authors of insecure software just fixes the accidental mistakes. There are very few secure software authors.

    Auditing insecure software doesn't make it secure. Sendmail is a good example of this. It's been audited countless times by competent people. The simplest mistakes were catched easily long time ago, but a few very difficult to find vulnerabilities were found only recently.

    How do secure software authors then avoid the kind of security holes that are difficult to find? By keeping the code simple. The code doesn't get secure by polluting it with tons of security checks. It gets secure by keeping the security checks in as few places as possible.

    Auditing secure software is easy. You can just quickly browse through most of the sources without having to stop and look at it carefully. Everything just looks clean, simple and correct. vsftpd is a good example of this.

    Sure, it's still possible that secure software has some security holes occationally. It just happens a lot less often (if ever) and usually the problems are less critical. For example none of the security holes in Postfix have lead to arbitrary code execution or being able to read other peoples mails. Denial of Service attacks are nothing compared to them.

    (some examples in the web page not included)

    1. Re:Why is some software more secure than others? by Anonymous Coward · · Score: 3, Informative

      What the hell are you rambling on about? OpenSSL is not inherently insecure. While your points about using the KISS method are good practice for any software, in some cases complexity is inherent to the app. OpenSSL implements cryptographic protocol which is *not* simple, both because of the underlying mathematics, and because of the care which must be taken to avoid attacks which trivialize it.

      And if you think auditing "secure software" is easy, you're just setting yourself up to be owned. Auditing should be done meticulously no matter how simple the app is perceived to be.

    2. Re:Why is some software more secure than others? by GSloop · · Score: 3, Insightful

      'No software is secure. The difference is how quickly they fix it."

      Perhaps no software is absolutly secure, and without bugs, but we're not anywhere close yet.

      Software needs to be designed (engineered is a better word) to be secure, modular and ONLY as functional as needed.

      I think in general, OSS and Linux do this better than Windows does, but it's a methodology change every OS level software writer needs to take to heart.

      It's critical when Office crashes, or had bugs, but not as critical as in SSL, Apache or something similar.

      In short, I think the laissez faire attitude we all have, both from accepting bugs, and about coding them ourselves is a SIGNIFICANT part of the problem. We need to raise the expectations, and hold people/companies accountable when these standards are not met.

      Cheers,
      Greg

    3. Re:Why is some software more secure than others? by SiliconEntity · · Score: 5, Informative

      How do secure software authors then avoid the kind of security holes that are difficult to find? By keeping the code simple.

      You're way off base in this case. SSL requires the use of X.509 certificates, and it was in the cert parsing code that these new vulnerabilities were found. X.509 means ASN.1 formats, which have at least two different encoding rules, BER and DER that both must be supported; implicit versus explicit tags; several different ways of encoding packet lengths, and a host of other complexities. There's no way to write this kind of code and just keep it simple as you describe. Any implementation of SSL which is going to interoperate with other systems on the net is going to face these complexities.

      I've written certificate handling code so I know how complicated it is. Also worth reading is Peter Gutmann's somewhat dated but still insightful X.509 Style Guide which describes some of the horrors an X.509 implementation has to deal with.

      In this case the failures were mostly in the error handling, and any developer knows that this tends to be the hardest part of your program to get right. Not only are there a lot more ways things can fail than go right, but they can fail in many more places in your code and it is very difficult to make sure your program can recover gracefully from everywhere something might go wrong.

      Also, I'm not sure if it's public yet, but a lot of other implementations are affected by this besides OpenSSL. See the CERT advisory when it comes out and you will find some of the biggest names in the security business got burned by this. It's absurd to suppose that your cosmic insights are somehow being overlooked by companies that base their reputations on security.

    4. Re:Why is some software more secure than others? by iabervon · · Score: 4, Insightful

      X.509 may be extremely complex to handle, but that would lead to incorrect X.509 implementations. This, however, was just unsafe code. There's nothing about X.509's complexity which should lead to stack corruption.

      The errors which you should expect from a X.509 implementation involve failing to parse obscure certificates correctly or failing to give the right error message about a malformed X.509 certificate. If the code itself is simple in implementation, it should be straightforwardly obvious that, no matter what, the parser will return either an X.509 structure or an error message; the complexity of X.509 merely prevents anyone from determining if the return value is actually correct.

      OpenSSL has a lot of spagetti code, wrappers, and unnecessary function pointers, inherited from the SSLeay days. In an ideal world, it would be rewritten to be more straightforward, but that's more effort than anyone is really willing to put in (except the GNUTLS people, but that's license-related anyway).

    5. Re:Why is some software more secure than others? by pebs · · Score: 5, Insightful

      In short, I think the laissez faire attitude we all have, both from accepting bugs, and about coding them ourselves is a SIGNIFICANT part of the problem. We need to raise the expectations, and hold people/companies accountable when these standards are not met.

      Here lies the problem:

      1) Cheap
      2) Fast
      3) Secure

      Pick 2

      --
      #!/
    6. Re:Why is some software more secure than others? by cras · · Score: 3, Informative
      I always wanted to have better support for error handling in C. Programmers should not be forced to handle errors by nested if's, "goto error" and wrapper functions that do nothing but check the result of another function and do cleanup.

      Exceptions would be nice, but I think in most cases the cleanup is just freeing dynamically allocated memory. Solution is to get rid of the free() calls. Garbage collector, memory pools, alloca(), data stack, etc. Data stack and memory pools have worked very well with my latest project. Error handling is almost always just a return call and there's hardly any wrapper functions just for handling errors. Too bad I haven't yet had time to test how well they'd work in other kind of software. I'd guess pretty well except maybe for general purpose libraries since they require a bit different way of writing C code.

  6. Re:Minor Bug by Anonymous Coward · · Score: 3, Informative
    from the advisory:
    4. Due to an error in the SSL/TLS protocol handling, a server will parse a client certificate when one is not specifically requested. This by itself is not strictly speaking a vulnerability but it does mean that *all* SSL/TLS servers that use OpenSSL can be attacked using vulnerabilities 1, 2 and 3 even if they don't enable client authentication.

    so i do think that it affects most users.

  7. Re:first post! by soliaus · · Score: 3, Funny
    first post!
    posted via lynx over openssh! w00t! w00t!

    Oh, so that was your box...sorry about that.

    --
    Speaking at Defcon 12 - Credit Card Networks Revisted: Pen
  8. Re:dang! by GSloop · · Score: 4, Interesting

    I'm getting really sick of hearing...

    "Just run Windows Update. It's easy!"
    "Just run apt-get It's easy!"

    I'd like to quit running updates every 15 seconds or so.

    I'd prefer it was right the first time. I'm getting really tired of patching machines all over the place. I'm turning into a patch money. Test, patch, test, patch, test, patch - with an occasional sleep and eat thrown in occasionally.

    No matter how easy Windows update is, it still has to get done. If MS does it for you, you'll worry about them breaking stuff. If you have to do it yourself, you worry you'll miss something, or break it yourself. Frankly, that sucks.

    Cheers,
    Greg

  9. RedHat RPMS by pollock · · Score: 3, Informative

    New RPMs and RedHat's security advisory for for 7.1, 7.2, 7.3 and 8.0 can be found here.

  10. one of life's little ironies by Bernie · · Score: 3, Funny

    If you call your product "open" SSL (or openssh for that matter), and occasionally people will discover it's Exactly What It Says On The Tin.

    Well it amused me anyway :)

  11. Re:Open Source Code Quality by statusbar · · Score: 3, Insightful
    The man page is lying. Make a test program. It is entirely possible for two or more programs to allocate more memory than phys+swap together. malloc() and realloc() on linux NEVER return 0, unless one single allocation in one program exceeds swap.

    Linux allocates physical memory pages on the fly, as you use them. Try this code. It allocates 256 megs on each run until you exit. How many times do you have to run it before it says malloc returns 0? How much more memory than you have (including swap) did it allocate?

    #include <stdio.h>
    #include <unistd.h>

    int main()
    {
    char *p = (char *)malloc(256*1024*1024);
    printf( "malloc returned 0x%X\n", (unsigned long)p );
    getchar();
    }

    This kind of thing happens with stacks as well. Memory on your stack is allocated on the fly as you use it. What happens when the kernel can't allocate a memory page when it is first accessed? It kills the process. hard. This means that user processes can steal resources and cause any number of root processes to die, just because they made a function call that required a larger stack.

    This does have many security and dependability implications, as the original poster said. Most people do not know this and do not handle this case!

    --jeff++

    --
    ipv6 is my vpn
  12. OpenSSH not vulnerable by dmiller · · Score: 4, Informative

    OpenSSH isn't remotely vulnerable to these attacks. Recent versions don't use the OpenSSL ASN.1 parsing code for signature validation (e.g. signatures coming from the network). The OpenSSL ASN.1 code is only used for parsing private keys.

    This was done a little while ago, as Markus (wisely) decided that we didn't need a whole ASN.1 parser just to verify signatures.

    Don't let that slow you down patching the issue - Apache and other SSL/TLS apps (OpenLDAP, the various imapd's, etc.) may be vulnerable.

  13. the ole keep it simple stupid... by vt0asta · · Score: 4, Insightful
    ...troll. Work smarter not harder. Nyuck, nyuck, nyuck. Well, thank god your here to tell everyone how to code secure simple software.

    Be advised that complex data dependent protocols are not trivial to code. Not only that, they are even harder to get to interoperate with other implementations of the same protocol. All the nasty little bug-a-boos show up that the protocol designers hadn't thought or even dreamed of.
    I count OpenSSL as insecure software - we need a secure replacement.
    So what's the plan? Toss out all the OpenSSL/GNUtls code and start over...but this time let's try something new... let's make it simple and secure?

    What you don't seem to understand, is that people far smarter than you and I have already had these philosophical debates and do you know what they came up with?

    No software is completely secure.

    Prompt disclosure is important.

    More eyes, code review, what have you is a good thing.

    Plan for failure/breaches/etc.

    Your measure of secure software is juvenile. It doesn't even provide an interesting definition of software security. Pointing at less than complete implementations of smtp and ftp makes your entire argument suspect. Also the "auditing secure software is easy" comment is another dead give away.

    --
    No.
  14. Understand the scope of the vulnerability by Anonymous Coward · · Score: 3, Informative
    For a server that is using OpenSSL

    Vulnerable to denial of service attack

    Potentially vulnerable to remote exploits (unknown currently)

    For a client (e.g. mail client) using OpenSSL

    • No vulnerability; the problems are on the server side, when processing client certificates