3 ms·
OpenSSL has a history of major security bugs. I haven't seen any filed against it recently, and it is widely used, but it gives people the heebie-jeebies, sort
by gchpaco 17y ago
OpenSSL has a history of major security bugs. I haven't seen any filed against it recently, and it is widely used, but it gives people the heebie-jeebies, sort of like BIND does. If memory serves it also is a little inflexible if you want to do something a little unconventional.
Now, that said, there are certainly sound engineering reasons to continue to use OpenSSL, and in no way should you use any other library that has not seen extensive, extensive security review in its place. NaCl is certainly included there.
- blasdel 17y agoBoth OpenSSL and BIND have the unenviable position of being the defaults, and thus get banged on constantly and frequently get integrated poorly. OTOH I think the comparison to BIND is a bit inapt, as OpenSSL was never historically the pile of poorly-architected shit that BIND was.
- tptacek 17y agoIf OpenSSL has the kinds of blatant implementation errors that Graham is alluding to (e.g. memcpy memory corruption problems in ASN.1 parses and padding checks), we all have bigger problems than whether he's right about it being a crappy library. A huge number of critically important systems depend on it. I don't love OpenSSL's code --- it's a mess with a zillion different authors and styles --- but the bar for finding horrible problems in it is quite high. The position of being the oft-banged-upon default isn't necessarily unenviable; in OpenSSL's case, it means a lot of crap has been shaken out. The comparison to BIND is superficial; BIND's problems are architectural, OpenSSL's problems stem from it dating back to Eric Young's code, which predates integer overflows and hails from a time when we thought you could mitigate a buffer overflow by malloc'ing instead of allocating on the stack. Don't use OpenSSL --- it's the wrong level abstraction for lay coders --- but yes, don't bash it for the wrong reasons.
- gchpaco 17y agoConceded that technically OpenSSL is much better off than BIND ever was. When I was a lay-sysadmin many years ago, I ran BIND because what else was there? but always in the back of my head was the possibility that someone found Yet Another Hole in BIND. I'm not nearly as concerned about the implementation quality of OpenSSL today; it's been long enough it's probably okay (but at the wrong level of abstraction). But it historically had enough issues to show up on my warning radar as a lay sysadmin, and that meant that I never really trusted it afterward. Could be complete paranoia at this point.