[Fwd: perl EUID change causing failure]
David Shaw
dshaw at jabberwocky.com
Wed Aug 2 18:10:04 CEST 2006
On Tue, Aug 01, 2006 at 11:30:14AM -0700, Marcel Chastain - Security Administration wrote:
> David Shaw wrote:
> >On Mon, Jul 31, 2006 at 05:21:44PM -0700, Marcel Chastain - Security
> >Administration wrote:
> >
> >>Yeah, I already have a workaround in place, I just wanted to report
> >>it to the community/developers. This is a new bug, and I think they'd
> >>be interested in why it's happening... Perhaps the gnupg-devel
> >>mailing list would be better..?
> >>
> >
> >This is not a bug, and it certainly isn't new behavior. GnuPG will
> >not run if the euid does not match the uid. On a number of platforms,
> >GnuPG is installed setuid root so it can grab locked/unswappable
> >memory. Once it has allocated a block of memory, it drops root privs.
> >To prevent any chance of an attacker fooling the system into letting
> >it keep root privs, it will halt if euid!=uid.
> This is certainly a dirty/harsh/feng-shui-less way of
> failing/exiting.
It is, yes.
> Perhaps I'm gullible, but when a program tells me
>
> "Ohhhh jeeeee: ... this is a bug"
>
> I tend to think that it is a bug.
>
> But you are right, the program probably thinks that it is being tricked
> into keeping root privileges, hence the harsh failure and funky message.
That's exactly the reason. That assertion was put in to prevent a
possible root privilege elevation if someone managed to trick the
memory locking code.
You're the first person that I recall hitting that assertion under
normal operation.
David
More information about the Gnupg-users
mailing list