Ars reports that a new bug has been found in GNU Bash allows remote attackers to execute arbitrary code by setting the process trailing strings after function definitions in the values of environment variables.
This bug is reported to be present in RHEL (ver 4 through 7), Fedora, CentOS (ver 5 through 7), Ubuntu (ver 10.04 LTS, 12.04 LTS, and 14.04 LTS), Debian, and even OS X Mavericks.
This bug is exploitable through Apache servers with mod_cgi and mod_cgid loaded, OpenSSH, malicious DHCP servers in a compromised wireless access point through dhclient, as well as the CUPS printing system.
The Ars also includes a simple single liner that will test your setup for the newly found discovery:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
A vulnerable system will output the following:
vulnerable
this is a test
While a patched or unaffected system outputs:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
A patch is already out, so administrators are advised to update Bash.
Editor's Update: Security Engineer Tavis Ormandy has said "The bash patch seems incomplete to me, function parsing is still brittle".
$ env X='() { (a)=>\' sh -c "echo date"; cat echo
(Score: 1, Funny) by Anonymous Coward on Thursday September 25 2014, @04:07AM
Bjarne please go. Repeating the word "modern" over and over again won't change the fact that C++'s standard is a bloated mess that's almost impossible to implement and full of pitfalls. Besides, if you really cared for modernity you'd be advocating Rust, Go, or D instead.
(Score: 0) by Anonymous Coward on Thursday September 25 2014, @12:18PM
Rust? Go? D? Really?
Rust, the language that's perpetually changing, where code you write today probably won't compile tomorrow? No thanks!
Go, the language with bad garbage collection and an awful syntax? No thanks!
D, the language with two standard libraries and that nobody actually uses? No thanks!
C++ is the only practical alternative to C. The languages you've mentioned are just toys.
(Score: 2) by tangomargarine on Thursday September 25 2014, @02:49PM
No no, Go is the one with the flying, startled burrito for a mascot.
"Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
(Score: 2) by edIII on Friday September 26 2014, @01:25AM
You scream that C++ has no alternative, but then make the claim about D that has nothing to do with it.
It's like saying TOR has some fundamental flaw that leads towards poor performance when it's almost purely an issue of participation.
You offered a better explanation for the others.
Do you really not want the D?
Technically, lunchtime is at any moment. It's just a wave function.