Bash is not limited to these systems; OSX is also vulnerable, as are countless routers and other equipment which are used in networks.
The vulnerability relates to how environment variables are processed. It has been present in bash for a long time and was discovered by developer Stephane Chazelas.
Bash or the Bourne again shell has been around since 1980. It was created by the GNU Project to provide a free software equivalent of the shell utility which was used to issue commands on UNIX systems.
Environment variables, which usually have a name with a value assigned to them, can be used to change behaviour of software on a system. Many programs run bash in the background and it is often used to provide a shell to a user, as in the case of telnet and ssh. It can also provide a parser for CGI scripts and even limited support for command execution as in git.
Asked for his reaction to the bug, well-known security expert Bruce Schneier had a short but telling response: "It's a big one, and a bad one."
But Schneier, an inventor of the Blowfish, Twofish and Yarrow algorithms, did not agree that bugs like this were becoming more common.
"Why do you think they're becoming more common?" he asked. "Anecdote does not equal data, and I have seen no evidence to support any explanation other than random noise."
Fixes have been issued by many distributions. This is the second major bug to hit open source software this year, with OpenSSL's Heartbleed bug being disclosed in April.