[20870] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Mail delivery privileges

daemon@ATHENA.MIT.EDU (David Wagner)
Tue Jun 5 16:31:40 2001

X-Envelope-To: bugtraq@securityfocus.com
To: bugtraq@securityfocus.com
From: daw@mozart.cs.berkeley.edu (David Wagner)
Date: 4 Jun 2001 06:48:32 GMT
Message-ID: <9ffb00$ls2$1@abraham.cs.berkeley.edu>
X-Complaints-To: news@abraham.cs.berkeley.edu

David Wagner wrote:
>Peter W  wrote:
>>To protect users from each others' ~/.forward instructions, it is necessary,
>>as Wietse said, for the delivery agent to start with superuser privileges.
>
>[...] Imagine: ~/.forward-program could be a
>setuid executable, owned by the user, and a non-root delivery
>agent could exec() the relevant ~/.forward-program. [...] What am I missing?

Many folks responsed privately (thanks, all!).  Here's a summary.

 - It doesn't work if home directories are on a partition mounted nosetuid.
   (Fix: Put the .forward-program elsewhere.)
 - You have to be very careful when writing a setuid ~/.forward-program.
   (Agreed.)
 - Writeable home directories are very dangerous.  (Agreed.)
 - A more problematic issue is that a malicious user can gain access to
   the uid that the delivery agent runs under by calling setuid(2)
   or by simply stripping the setuid bit off of their ~/.forward-program.
   (Uh oh...)

I must admit that I had not anticipated this last attack, which is
a very serious threat.  It seems to me that it might be possible to
defend against this attack, if the appropriate mail delivery agent
runs under a 'nobody'-like uid with absolutely no privileges.  However,
this may be tricky to configure safely, and the fact that I overlooked
one subtle attack leaves some reason to be concerned that there may be
other even more subtle attacks lurking in the shadows.  I think we can
say that it might be possible to make my proposal work, but the details
appear to be non-trivial.

Thanks to Peter W., Greg Woods, Chris Siebenmann, Emmanuel Galanos,
Steve Bellovin, Henrik Nordstrom, and Roman Werpachowski for comments.

home help back first fref pref prev next nref lref last post