Industry


Ads by TechWords

See your link here


Fixing Debian OpenSSL

Debian, the popular Linux distribution, has just been shown to have made an all-time stupid security goof-up. They managed to change OpenSSL in their distribution so that it had no security to speak of. Good job guys!

OpenSSL makes it possible to use SSL (Secure Socket Layer) and TLS (Transport Layer Security) in Linux, Unix, Windows and many other operating systems. It also incorporates a general purpose cryptography library. OpenSSL is used not only in operating systems, but in numerous vital applications such as security for Apache Web servers and security appliances from companies like Check Point and Cisco. Yeah, in other words, if you do anything requiring network security on Linux, chances are good, OpenSSL is being called in to help

Now, OpenSSL itself is still fine. What's anything but fine is any Linux, or Linux-powered device, that's based on Debian Linux libssl 0.9.8c-1 code, which was released September 17th 2006 until version libssl 0.9.8, which was released on May 13th. That includes the most popular Linux of all: Ubuntu.

Words almost fail me on just how stupid this self-inflicted Debian wound is, almost, but I manage to spit some out on my Practical Technology site. You can read that later. Here's what important, here's how to fix the Debian OpenSSL hole.

This fix for Debian 4.0 Etch and its development builds: the unstable distribution, Sid and the testing distribution, Lenny is now available from the Debian site. Ubuntu, which is based on Debian, also have fixes for the hole. In Ubuntu, the versions that need patches are Ubuntu 7.04, Feisty; Ubuntu 7.10, Gutsy; the just released Ubuntu 8.04 LTS Hardy, and the developer builds of Ubuntu Intrepid Ibex.

Debian has also opened a site on how to rollover your insecure security keys to the better ones once you've installed the corrected software. You must perform a rollover. Otherwise, you'll be continuing to use the older, vulnerable keys.

Other Linuxes based on Debian or Ubuntu, such as MEPIS and Mint, are also vulnerable. MEPIS users can get the updated software by running their usual update routine. Since MEPIS, by default, includes Debian's security patches that should do the trick. Mint, which is based on Ubuntu, can also be made safe by upgrading the system.

The most up-to-date and comprehensive technical discussion of fixing these problems can be found in the Debian OpenSSL Wiki. I highly recommend anyone dealing with this problem on mission-critical systems to carefully read the information on this site.

If you have a firewall appliance or other device that you think may contain the broken code, I recommend that you check in with your vendor as soon as possible to see if they have a fix.

Finally, don't put fixing this problem to the side. Cracker tools that will let any idiot break into your Debian system are already circulation.

What People Are Saying

I had a vendor call from

I had a vendor call from Symark Software today telling me that their product, PowerBroker could help to secure this as well. Anyone have an opinion of Symark? Was told www.symark.com

You need to apologize Steven

5 minutes of research on the OpenSSL developers mailing would have revealed that the patch was posted there and was approved of by the OpenSSL developers.

You owe the Debian developers an apology for your arrogant and obnoxious personal attacks against them. Next time, do your JOB before getting all hateful against people who, unlike yourself, are actually contributing to Linux, even if they make mistakes.

No Apologies, just the facts

Ah, but. I do my job and I do check. I didnโ€™t want to put the blame on one person, but since you brought the matter up. the person cited is Kurt Roeckx: the Debian OpenSSL maintainer.

http://qa.debian.org/developer.php?login=Roeckx&comaint=yes

Heโ€™s the one who made the mistake. If you read on in the thread. you quote, youโ€™d see that someone gave him the flag to make the debugger code work properly with OpenSSL

http://marc.info/?l=openssl-dev&m=114654760312453&w=2

As I mentioned in the story, people had been running into this problem for years and assuming, incorrectly, that the problem was with OpenSSL and being corrected. The difference here is that he was in a position to mangle OpenSSL to โ€˜fixโ€™ what he thought was a problem and he then didnโ€™t pass it upstream. So, itโ€™s still a Debian problem.

Then, someone at Debian, presumably Roeckex since itโ€™s his project, decided to fix the problem a few days before it went public without telling anyone.

See Ben Laurieโ€™s blog

http://www.links.org/?p=327

for details and pointers to the patches.

For more on what actually happened, see: Gregely's blog posting: "Debianโ€™s OpenSSL maintainer (Kurt Roeckx) should be changed"

http://www.gergely.risko.hu/debian-dsa1571.en.html

Sorry, this was clearly a Debian problem. Trying to poison the well about people who report on it doesn't change the facts.

Steven

Please, your logic makes no sense

What does this mean, "he then didnโ€™t pass it upstream" ? There are no secrets in Debian code, each patch is clearly documented and listed in the package. Not difficult for anyone to find. Nothing hidden.

Is the Debian maintainer somehow required to sent a personally addressed email to each upstream author saying "here are my patches" ? What would be the point? For anyone who wants to check, they all know where to look. They can just take a quick glance at version number updates and changelogs once every few weeks. Why fill more email boxes with yet more junk? Maybe sending a brass band would be even better.

Are you suggesting that Debian must actually get written approval for all changes from an upstream author? I hope you understand just how stupid that suggestion is. I hope you also understand that upstream authors can also make mistakes. IMHO depending on unitialised memory as a source of entropy is much more dangerous than not having the entropy. My reasoning is that it is a false sense of safety -- if you can't trust the code under adverse conditions then you can't trust it at all. It is also (perhaps) a door for some untrusted input data to systematically manipulate your random pool. Linux has /dev/urandom and /dev/random which are the official entropy suppliers (supported by hardware entropy generators in most modern systems).

The Debian maintainer was actually doing the right thing, he just got overzealous and commented out TWO lines of code in TWO places (one of which had nothing to do with the original problem, and caused a new problem). Now, from the code, it is obvious that an earlier upstream author had been running "purify" and run into exactly the same issue (for the same reasons no doubt) and even put a conditional directive to handle this situation... but they were too lazy to put a comment to explain what was happening and why they chose a slightly questionable design decision. That in itself is a sign of poor engineering teamwork and unmaintainable code. The real blame falls on people who can't document their design properly.

As I said before

The issue here is not weather a system is closed or open, I also don't wish to start or contrubite to a bigger better best argument.

but how as net citizens, they (the OS vendors) conduct themselves if and when security issues are eventually found, and made available to the general public, for consideration, true the scale of the stuff up was momentous, and the damage (both physical and from a PR perspective) will take a long time to get over, and other operators will certainly try to gain some lost traction, and millage from this fiasco.

Bu the bigger story here, is there accountability, to those that use their products, and how fast repairs are made to the affected bits, when vulnerabilities are discovered,is what separates those that may just stick their corporate heads in the sand about known and on going vulnerabilities, versus those that are pro active in admitting mistakes even the big ones, and doing something about them is a very timely and professional manner.

I'm sorry you made the stuff up Debian, but at least there's been a plethora of sites, that have offered to help the people of the FOSS community secure that issue, rather than waiting for their traditional patch day, and just hope for the best

"at least these people do

"at least these people do some serious FOSS work instead of flaming around on some third-rate blog"

ooh, touchy... the fact that you are doing the same perhaps escaped your attention?

"Honestly, how does commentary like this help anyone?"

I think the OP is a little pissed off.. as he well should be... I don't think he is saying we should drop open source, he is just saying that this fiasco is an indication of some defects in the process..

Linux proponents have always been touting Linux as the ultimate security thing because there are so many eyes looking at critical code that any bug is quickly caught and fixed.. well, this one wasn't. Open source is ultimately very vulnerable to arrogant hackery...

Actually...

Linux proponents have always been touting Linux as the ultimate security thing because there are so many eyes looking at critical code that any bug is quickly caught and fixed.

It WAS caught, and immediately addressed.

Yeah, it took a while, but apparently the bad guys didn't know either. I haven't heard about any crime waves involving Debian system attacks.

right... caught 2 years

right... caught 2 years later...
Microsoft too "immediately" addresses a lot of vulnerabilities...

Fact is, it will take forever to fix all the damage caused by this small hack... It is a very persistent bug - it's not like you can just patch your binary and crush that buffer overflow - changing all SSH keys generated over the last 2 years is a massive task..

And while there might not be a crime wave on Debian systems, I am sure that all bad guys have already incorporated attacks based on this into their toolsets, and in months to come plenty of systems *will* get compromised...

Look, I am not arguing that open source is bad. I am just saying that this is a pretty bad fiasco, both in PR and in actual damage.

As a fact check, the supposedly thick-headed Debian developer went to the openssl-dev group and asked if he can remove those lines... Fact is, none of the OpenSSL guys exploded "NO, DON'T DO THIS!".. One person told him to compile with -DPURIFY, which was, admittedly, the correct thing to do - but nobody told him that removing the second line would cripple the PRNG..

True, it was a BIG fubar

But my point is that as soon as it was discovered (yes, two years after the fact) fixes were sent to machines via updates almost immediately. When a flaw is discovered in FOSS, that is ALWAYS the procedure. With anything proprietary (not intending to start the ultimate MS/Linux debate that will spring up here sooner or later!), you wait for the software's developers, and hope they hurry. They certainly don't always do that.

And yes, the pain of key regeneration is very real. An example of doofus-headedness snowballing, to be sure. But the fix is there NOW.

True

This I definitely agree with. Reaction time is great. The problem here is more about trust than anything else... oh, well, things will probably improve over time.. perhaps Debian's arrogance will subside a little, perhaps users will go to other distros that don't fiddle randomly with all of their packages..