Slashdot Mirror


SSH Secure Shell 3.0.0 Remote Hole

SSH Communications Security Corp (ssh.com/ssh.fi) announced on bugtraq last night that their commercial product SSH Secure Shell 3.0.0 is a gaping remote hole on various unixes. Technically it's not a root hole, but remote access to users like "adm," "bin," "daemon," and "sys" is not good. Strangely, I don't see an announcement on their homepage. If you're running the $99 workstation version or the $475 server version, go upgrade to 3.0.1 now because it's an amazingly trivial exploit (especially on Solaris, but also on other unixes, excluding NetBSD and OpenBSD which are not affected at all). If you're using OpenSSH, or some other program you didn't pay for, no worries.

35 of 77 comments (clear)

  1. Re:Trivial isnt the word for it by Anonymous Coward · · Score: 4

    IIRC the OpenBSD crew got a hold of some old crufty "free" (as in license) ssh/sshd program, cleaned it up, added a ton of feartures, cleaned it up more, audited the source, released it and currently is maintaining it. IMHO the OpenBSD/OpenSSH team is doing a hell of a good job with this.

    The orignal source was IIRC written from the ground up, but was in pretty bad shaped before the OpenBSD/SSH crew got a hold of it.

    At last that is how my Papa tells the story.

    Every "fearture" check I have compared between OpenSSH and SSH, they both keep up with each others in the buzzword complaint list. As far as price, OpenSSH wins hands (even can change/redistrub full source!). OpenSSH wins hands down also on the number of exploits found (ie. OpenSSH has less).

    Personally I think OpenSSH(d) is easier to admin then SSH(d), but maybe that is just because I am more famlair with it?

    Oh the OpenBSD/SSH crew is A LOT nicer than those jerks that support SSH. About 1-2 years ago I had to admin a bunch of old Solaris 2.3 boxen (yuck!). Both SSH and OpenSSH would not work correctly on 2.3 I emailed them both, the OpenSSH team sent me a diff and it worked prefectly. SSH team said that solaris 2.3 was unsupported and that they could not refund my $ (techinally my bosses cash). Theo may have a attitude problem, but atleast his has never riped me off! (in fact I think I have probably riped him off, downloading OpenBSD without giving donations!)

  2. Re:Don't use password authentication by Anonymous Coward · · Score: 4
    Don't use password authentication with SSH / OpenSSH

    *sigh*

    I'm too lazy to look up the exact quote or the correct attribution, but "For every complicated question, there is an answer which is simple, elegant, and wrong."

    That's not necessarily the answer, for a variety of reasons:
    (1) The use of RSA/DSA keys without a passphrase is reckless. Situations far less severe than having your box completely rooted (including numerous forms of pilot error) can allow people to read your files. In particular (and at the risk of sounding inflamatory), consider that such keys can be generated on and used from a windows box. Do you trust win98, with (for instance) no concept of file ownership, to keep some luser's private key safe?
    (2) The use of RSA/DSA keys (even with a good passphrase) makes your machine a single point of failure, from a security standpoint, for all the machines to which you have access. Basically, the only thing that publickey authentication proves is knowledge of the contents of id_dsa. Ignoring the fact that several implicit assumptions lie between that and the "fact" that it's actually you trying to log in is of an order of stupidity similar to the mistake the ssh.com folks made.
    (3) More broadly, anything which automates authentication subverts that authentication.
    (4) The 'password' authentication in sshd_config need not use a static password. It is fairly straight-forward to write a PAM backend for (for instance) SecurID, while using the basic "ask user for magical identification string" semantics of password authentication provide the front end.

    All that said, if they are used correctly, DSA keys can be significantly more secure than static passwords. However, there is no practical way to confirm on the server whether or not the keys are being used incorrectly. And, used incorrectly (e.g. w/ a null passphrase as you seem to suggest), they are much worse than static passwords with reasonable restrictions (complexity, length, expiration) placed upon them.

    With that in mind, all of my really critical machines use SecurID authentication. Best-case is somewhere between password and public key authentication, but, and, when dealing with users in the real world, this is key, its worst-case security is _far_ better than the worst-case of either password or RSA/DSA keys.

  3. Re:SSH.com needs to change their focus by Micah · · Score: 2

    You're probably right. There is certainly no (that I know of) reason to fork out any dough to the SSH guys currently.

    But who is going to pay for serious support for OpenSSH? For the most part you just rpm -i it and it works. Sure, there are a few configuration details. Maybe support in getting client programs to tunnel over SSH, but that wouldn't likely rake in a killing for anyone.

    ---

  4. Re:But... But... by jbuhler · · Score: 3

    > But, this product appears to only make its
    > source available if you buy the $475
    > server version. The cheaper workstation
    > version does not come with source.

    Bollocks. SSH 3.0.1 still comes with source in a non-commercial (though not libre) version. Excerpted from the license:

    "To qualify for a Non-Commercial Version License, You must: (1) use the Software solely on a system under the Linux, FreeBSD, NetBSD, or OpenBSD operating system(whether for commercial or non-commercial use), or (2) use the Software for non-commercial purposes as defined herein and be a Non-Commercial Entity as defined herein, or (3) be an University User as defined herein, or (4) be an Excluded Contractor as defined herein."

    You can download the SSH 3.0.1 sources from the usual place: ftp.ssh.com/pub/ssh.

    I prefer free software as a rule, but OpenSSH's connection tunneling didn't work properly last time I tried it (around 2.4), and it still appears to lack MIT Kerberos 5 support as of 2.9p2. That said, it appears that ssh.com's v3.0 client won't authenticate via Kerb5 with a v2.x server.

  5. Will wonders never cease . . . by hawk · · Score: 2
    >Oh the OpenBSD/SSH crew is A LOT nice


    Of all the good things I've heard about OpenBSD, I've never seen *this* one before :)

  6. Re:Interesting reaction by sheldon · · Score: 2

    No, the libs were only half the frustrating part.

    I was able to build OpenSSL and such that OpenSSH would compile.

    I had it compiled and installed. Appeared to be configured correctly, but ssh clients would not authenticate with it.

    I read in another post that OpenSSH has problems with Kerberos. That might be it, because I use Krb5 on my Solaris box to authenticate users.

  7. Re:"Exploit" doesn't work for me by sheldon · · Score: 2

    I wasn't able to reproduce it either.

    At least it's not as simple as just trying to connect and type in a short password.

  8. Interesting reaction by sheldon · · Score: 3

    I think it's kind of interesting how everybody is reacting to this with the "OpenSSH REWLS! SSH SUCKS!" attitude.

    Reinforcing their own notions that open source software is somehow superior. I'm not certain how defensible this position is considering OpenSSH has also had quite a number of vulnerabilities of it's own.

    For my purposes. I use SSH at home on my Sparc running Solaris 8. I do so because I tried OpenSSH and for whatever reason found it very difficult to configure, install and get working.

    In fact I couldn't get it working. After spending a frustrating hour on it I decided to try the non-commercial version of SSH.

    Compile, install... up in running with no problems.

    The difference between these two products from an ease of installation was like night and day. OpenSSH suffers from the old "good enough" attitude exhibited by most open source software. SSH on the other hand you can tell they put some time into polishing which is typical of commercial software.

    Is the code better? I don't know. Perhaps. But the chief difference is simply one of polish, something OpenSSH clearly does not have.

  9. SSH sucks by VAXGeek · · Score: 5

    Yet another SSH hole. This is why all of the security minded admins stick to telnet.
    ------------
    a funny comment: 1 karma
    an insightful comment: 1 karma
    a good old-fashioned flame: priceless

    --
    this sig limit is too small to put anything good h
    1. Re:SSH sucks by dj28 · · Score: 4

      Actually, a telnetd security hole affecting just about every OS on the face of the earth was found. It's a remote hole than can be used to gain root access (or whatever user telnetd is running under) and run arbitrary code. The URL is http://www.securityfocus.com/archive/1/197804 It's a major exploit. I suggest everyone shut down telnetd until a patch comes out.

  10. Re:But... But... by jamiemccarthy · · Score: 3
    "But seriously, folks, this just goes to show mistakes can happen to anybody. Open source may be your best protection, but even it's not perfect..."

    Unquestionably true. But, this product appears to only make its source available if you buy the $475 server version. The cheaper workstation version does not come with source. I'm sure too that the licensing terms prohibit free redistribution of the server source, so (unless I'm mistaken) this is not an open source product. It looks like it's closer to what Microsoft calls "Shared Source."

    Jamie McCarthy

    --

    Jamie McCarthy
    jamie.mccarthy.vg

  11. Re:Not a bug, a feature! by jamiemccarthy · · Score: 5
    "So let me get this straight. . . this bug only occurs if someone uses a TWO CHARACTER password (or shorter)?!? I almost think anyone that dumb deserves to be hacked."

    (sigh) No.

    I didn't go into technical detail in the story because space was limited. But it's interesting how the exploit works, and I figured maybe some enlightened Slashdot reader would write up an insightful comment about it. Never mind, here's what I would have put in the story...

    The vulnerability is so serious because most unix operating systems use a special code in their /etc/shadow file to signify "no password should ever match on this account." On my Debian installation, it's an asterisk:

    daemon:*:...
    bin:*:...
    sys:*:...

    The problem is that this product actually reads that as if the "*" were the crypt()ed password -- that's its first mistake. Then when it compares the crypt()ed attempt against that field in /etc/shadow, it only compares up to the length of the /etc/shadow field -- that's its second mistake.

    Both are colossal errors.

    The result is that any password will suffice to log into such accounts, because any password, when crypt()ed with the one- or two-character salt ("*"), will have its first one or two characters match -- and that's as far as the algorithm checks.

    The result is that a code intended to mean "no password can ever succeed" ends up meaning "all passwords will always succeed." Truly an amazing oversight.

    Jamie McCarthy

    --

    Jamie McCarthy
    jamie.mccarthy.vg

  12. Re:Is this a case of... by unitron · · Score: 2
    I believe the expression is "Root hog, or die". As in when times are hard a hog has to dig up roots to eat to avoid starvation. Also written with a comma after the word "root".

    Perhaps you already knew this, and were punning, but Slashdot draws a world-wide audience and as Tony Joe White said in Polk Salad Annie, "Some of y'all ain't never been down South might not know what I'm talkin' about..."

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  13. Re:Purchasing vulnerabilities by Accipiter · · Score: 2
    So we have to purchase security vulnerabilities now, eh?

    Not really. Microsoft gives these out for free.

    They're called "Service Packs"

    -- Give him Head? Be a Beacon?

    --

    -- Give him Head? Be a Beacon?
    (If you can't figure out how to E-Mail me, Don't. :P)

  14. telnetd, etc. Re:SSH sucks by warpeightbot · · Score: 5
    Well if I shut down telnetd how am I going to telnet to my router-box-in-the-closet to upgrade?!
    1) Get libsafe. The telnetd exploit is a buffer overflow (like so many bugs these days); if someone tries to hack your system this way, libsafe will trap it, kill telnetd (which is fine since telnetd should be running from (x)inetd and can respawn), and mail root.

    2) Surely the router is firewalling port 23 on the outbound side, or at least tcpwrappered (or blocked in xinetd.conf), right? In the extreme case you can hardwire it to come from only your personal machine...

    3) Hardwire it. Use a null modem cable, serial port to serial port; you could even set the headless box to boot to the serial port (yeah, this takes a kernel recompile, but you would've wanted to do that anyway). Use getty on the router, and minicom on your side (don't forget to configure it to not send "ATZ" for the "modem" init string....).

    Frankly, I just use OpenSSH and be done with it... no reason to send bucks to Finland when the Canadians will do it better for free... and if it weren't for the fact that my housemate has Windows machines that occasionally need to PPTP to her work, I'd be using OpenBSD as the firewall.... when they get around to making pf tunnel alternate protocols, I'll likely be switching.

    --
    Linux for the stable desktop
    Mac for publishing and pretty pictures
    OpenBSD for secure servers
    Windows for games
    Use the right tool for the job.

  15. Closed source by YoJ · · Score: 2

    This is a bad blow for SSH the company. Didn't someone there quit a while ago since he disagreed about the decision to not provide source code to customers?

  16. Re:Not a bug, a feature! by SMN · · Score: 2
    It's official -- humor is dead.

    Seriously, though, not being too well acquanited with Unix systems, I didn't know this. Still, though, it was a joke -- I didn't mean to get you so worked up! =(

    --
    -- Imagine how much more advanced our technology would be if we had eight fingers per hand.
  17. But... But... by tbo · · Score: 2

    SSH Secure Shell 3.0 isn't made by Microsoft, and yet it has a super-trivial remote security hole. Guys, it's not April 1, knock it off.

    But seriously, folks, this just goes to show mistakes can happen to anybody. Open source may be your best protection, but even it's not perfect (remember that recent OpenBSD local root hole?).

  18. Don't use password authentication by chrysalis · · Score: 4

    Don't use password authentication with SSH / OpenSSH .
    The beauty of *SSH is that you can use crypto keys for authentication. With ssh-keygen -tdsa , you create a pair of keys. id_dsa is the private one (keep it on your computer), and id_dsa.pub is the public one. You can copy the public one in ~/.ssh/authorized_keys2 on every server you are willing to access. The public key can be given to everyone, you can even put it in your signature so that people can grant you access to their machines if they want to.
    When the public/private keys matches, you can log in. No need to enter any password. Simple. Fast. Easy. Really handy (especially with scp). And it's secure. Don't tell me "yeah but if your client computer gets rooted, the bad guy can grab your private key". First, LIDS can hide the private key. Then, you can add a passphrase if you want. Next, if your computer gets rooted, the bad guy can always install a keyboard sniffer.
    Try DSA authentication. It rules. And it solves the problem of people chosing trivial passwords. Once you only use DSA authentication, you can disable password authentication in your sshd_config file.

    -- Pure FTP server - Upgrade your FTP server to something simple and secure.

    --
    {{.sig}}
  19. Re:Oh SHIT! by printman · · Score: 2

    If you have to pay to get the source code, then what is the ssh-3.0.1.tar.gz file on their FTP server:

    ftp://ftp.ssh.com/pub/ssh/

    ???

    --
    I print, therefore I am.
  20. Re:What is so good about it over openssh? by iamsure · · Score: 2

    SSH began with a bsd-ish license, NOT a gpl license. It was then forked when they decided to get draconian with their licensing, and prices.

    Thus was born OpenSSH, a truly bsd-licensed piece of code that rocks.

  21. "Exploit" doesn't work for me by gbnewby · · Score: 2
    I have the supposedly vulnerable versions of ssh running on two systems, a Solaris 8 box and an AlphaLinux system running RedHat 6.4. On both, I am unable to login to usernames with encrypted passwords of 2 or 1 characters. I tried this with /etc/shadow passwords and non-/etc/shadow.

    In short, the trivial vulnerability doesn't seem to exist on these systems. Of course, I'll upgrade (or sidegrade?) to OpenSSH, which I already have on most of my other systems.

    Has anyone actually had the trivial case of logging into lp or adm or some other username with an arbitrary password? I'm not doubting the vulnerability exists, but it seems that on systems withOUT any of the recommended workarounds, I'm still not vulnerable.

    • Greg
  22. Purchasing vulnerabilities by FattMattP · · Score: 3
    If you're using OpenSSH, or some other program you didn't pay for, no worries.
    So we have to purchase security vulnerabilities now, eh? And I remember the days when we got 'em for free.
    --
    Prevent email address forgery. Publish SPF records for y
  23. Only affects those using password authentication by SBChoDogg · · Score: 4

    The problem is with accounts that have !! in the password field in /etc/passwd or /etc/shadow. This includes lp, adm, etc. Anyone can access those accounts (or any account with a two character entry in the password field) with any password. However, this is not a problem if you have disabled password authentication. Most people using SSH who really need security should be using some other type of authentication, including "public key, SecurID, Kerberos, certificates, Smart Cards, or hostbased." Those people running (non-Open)SSH daemons on Internet-accessible boxes with password authentication should definately upgrade though.

  24. w4r3z r001z by LiteForce · · Score: 2
    If you're using OpenSSH, or some other program you didn't pay for, no worries.

    So copies obtained from #warez aren't vulnerable ?

    Nice to know that n4u9h7y w4r3z is useful for summat :)

    --
    "Be vewy vewy quiet, I'm hunting wuntime ewwors!" - Elmer Fudd
  25. Re:Oh SHIT! by donglekey · · Score: 2

    PLATFORMS NOT IMPACTED: Tru64 4.0.G, NetBSD, and OpenBSD are not vulnerable

  26. Re:Not a bug, a feature! by lemox · · Score: 2

    My God. It boggles the mind to think that a "professional" software company like SSH Communications would make such an insanely stupid oversight....

    --

    "We obviously need a new moderation category: (-1, Woo-fucking-hoo)" --Mr. AC

  27. Re:Stick with ssh 1.x by lemox · · Score: 2

    What's wrong with 1.x?

    Because it's no more secure than telnet if your local script kiddies have the right tools.

    Don't believe me? Take a look at Ettercap> . Does a great Man-in-the-middle attack and is so trivial to use the most brain-dead script kiddy could master it in 10 minutes.

    --

    "We obviously need a new moderation category: (-1, Woo-fucking-hoo)" --Mr. AC

  28. Re:Oh SHIT! by jbarnett · · Score: 2


    OpenBSD uses OpenSSH not SSH. OpenSSH does not have any current holes. SSH does. SSH is commerical software. OpenSSH is free open source software. SSH does include source, but you have to fork out money.

    FreeBSD IIRC also uses OpenSSH, not SSH.

    Not sure what NetBSD uses, but betting it uses OpenSSH over SSH.

    This is *NOT* a remote hole in OpenBSD, SSH is *NOT* even installed in the default installation. OpenSSH is. OpenSSH is secure, read above. SSH is not.


    --

    "`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
  29. Try stunnel by TheLink · · Score: 2

    If your router is not running a vulnerable telnetd then that's not the problem.

    If your router is running a vulnerable telnetd then maybe you could run stunnel and telnet via SSL to it. www.stunnel.org

    Set the stunnel to -v3 so that only clients with recognised certificates can actually connect.

    So even if the telnetd is vulnerable, attackers don't get a chance to talk to it unless they have the right cert, or stunnel has a problem.

    Stunnel has had some problems, but since the code is a lot smaller than SSH and the feature set is a lot more limited, I bet it's still more secure than SSH. I took that bet 2 years ago, and so far SSH has had tons more problems compared to Stunnel.

    --
  30. Message to Jamie... by nick13 · · Score: 2

    I feel some subtle hostility and contempt towareds SSH Communications Security Corp in your post. How unfortunate. SSH Secure Shell is a good idea and a great product. Without the graciousness of SSHCSC there would be no free alternative, and many more people may have suffered because of this particular vulnerability. Are you advocating open-source solutions or spreading propoganda? Its a tough call - you choose your words almost too well.

    Its great to see helpful notices like this on Slashdot, but if you could just check your hostility at the door...

    Nick

  31. Re:Should disable these users anyway by einhverfr · · Score: 2
    /usr/bin/yes was a joke...

    I would actually use /bin/false because it immediately terminates the session returning an error.

    I don't use host based (at least name or address based) authentication either, except as one layer in VPN setups. No credentials, no access. Certificates are fine, as are Kerberos tickets. But host-based authentication is only one layer and is in no way trusted on my network with the security.

    Sig: Tell all your friends NOT to download the Advanced Ebook Processor:

    --

    LedgerSMB: Open source Accounting/ERP
  32. Re:Should disable these users anyway by einhverfr · · Score: 3
    Or set default shell to /bin/false (though for an attacker, /usr/bin/yes could be amusing...)

    Definitely make an impression on those folks...

    Sig: Tell all your friends NOT to download the Advanced Ebook Processor:

    --

    LedgerSMB: Open source Accounting/ERP
  33. Re:Not a bug, a feature! by J'raxis · · Score: 2

    Not two-char passes; two char entries in /etc/passwd. Solaris uses the keyword "NP" in records in /etc/passwd when there is "no password" -- when no one is supposed to be able to log in as that user.

  34. SSH.com needs to change their focus by Shortcut+to+CmdrTaco · · Score: 4
    Time and again, ssh.com's product has exhibited embarrassing security flaws. It's about time for the company to re-evaluate their strategy. Since OpenSSH has outclassed the ssh.com software in every way ever since the release of OpenSSH 2.0, ssh.com needs to just bite the bullet, make peace with the OpenSSH folks, and sell support for the superior product. There was a time when they could have made a good business out of developing SSH, but that time is passed and all that they are managing to do nowadays is sell snake oil. And the last thing that the internet needs nowadays is another pathetic "security company" that sells insecure products. It's good for script kiddies, bad for admins, bad for the net, and bad for the reputation of UNIX-like systems.

    --The Shortcut