Updated: I made a mistake and gave Akamai credit. Stephane doesn’t work for them – I misread the post. Fixed.
Critical update: Red Hat confirmed their patch is incomplete, and patched
bash is still exploitable. The technical term is “cluster fuck”. Anything you patch now will need to be repatched later. For critical systems consider the workaround in their post. For everything else, wait until your vendors release complete patches.
Earlier today details of a vulnerability in the UNIX/Linux/OS X tool
bash, discovered by Stephane Chazelas, became public with a disclosure and patch by Red Hat. It is called Shellshock, and it might be worse than Heartbleed.
Most of you reading this are likely extremely familiar with
bash, but in case you aren’t it is the most popular command-line shell program in the UNIX world, installed on pretty much anything and everything.
From Red Hat:
Coming back to the topic, the vulnerability arises from the fact that you can create environment variables with specially-crafted values before calling the
bashshell. These variables can contain code, which gets executed as soon as the shell is invoked. The name of these crafted variables does not matter, only their contents.
You might be thinking that someone needs to log in before they can ever reach
bash, so no big deal, right?
bash is embedded in a ton of applications. From CGI scripts running on Apache web sites to all sorts of random applications.
Here is the short explanation of why this is so bad, and why we will likely be dealing with it for years:
bashis embedded and accessed in so many ways that we cannot fully understand its depth of use. Many systems you would never think of as having a command line use
bashto run other programs. I have used it myself, a bunch, in programs I have written – and I barely code. We cannot possibly understand all the ways an attacker could interact with
bashto exploit this vulnerability.
- As Rob Graham has discovered, this is likely wormable. That places it into Code Red/Nimbda territory. A workable bug that can exploit public web servers is scary. We don’t know for sure, Rob doesn’t know for sure, but it looks very very possible. Potential worms are like staring at the smoking volcano while the earthquakes stir your martini – they aren’t the sort of thing you can wait for definitive proof on before taking seriously.
- There are rumors the patch may be incomplete.
- There is already a Metasploit module. Gee, thanks guys… you couldn’t give us a day?
I strongly suggest keeping up with Rob’s analysis.
There is really only one option: patch. It isn’t a fancy patch, but fragile systems could still suffer downtime. And you may need to re-patch if the original patch turns out to be faulty, which is always terrible. I will patch my systems and keep my ears open for any updates.
Don’t trust any security vendor who claims they can block this. Patching is the only way to fix the core problem, which likely includes multiple exploit vectors.
I will give bonus points to anyone who finds a vendor using Shellshock in their marketing, which then turns out to have a vulnerable product. Any security product based on UNIX/Linux is potentially vulnerable, although not necessarily exploitable.
I suspect the Microsoft Security Response Center is very much enjoying their quiet evening.