public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "fweimer at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug nptl/13347] Threaded setuid() can wrongly report success when failing to drop privileges
Date: Tue, 22 Jul 2014 12:35:00 -0000	[thread overview]
Message-ID: <bug-13347-131-LjVUNw6kdi@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-13347-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=13347

--- Comment #15 from Florian Weimer <fweimer at redhat dot com> ---
(In reply to Rich Felker from comment #14)
> I've seen real-world applications that were _potentially_ affected. In
> particular, Java applications which call setuid at startup (e.g. after
> binding to a port) have often (possibly inadvertently) created threads
> before doing so. It may be very unlikely for setuid to fail in some of the
> threads at system startup, but if restarting a server that aborted due to
> some sort of resource exhaustion, it might be a lot more likely. I never
> attempted to observe the issue actually happening in such apps, however; I
> just noted that it could.

I looked at the Apache jsvc tool, and it changes credentials before
initializing the JVM.  There's a comment suggesting that this dates back to the
LinuxThreads days.  Considering that they also change capabilities (which are
still per-thread and not process-global), there isn't really a way around that.

The jetty-setuid mechanism doesn't check the result of the setuid call, so it's
not vulnerable to this glibc bug, either (because consistent setuid failure
will not result in an abort and leave the service running with elevated
privileges).

Are there any other Java service loaders that could be affected this way, and
for which source code is generally available?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


  parent reply	other threads:[~2014-07-22 12:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-26  3:33 [Bug nptl/13347] New: " bugdal at aerifal dot cx
2012-03-17 20:38 ` [Bug nptl/13347] " bugdal at aerifal dot cx
2012-04-29  3:03 ` bugdal at aerifal dot cx
2012-04-29 17:00 ` ppluzhnikov at google dot com
2012-07-24 14:52 ` carlos_odonell at mentor dot com
2012-07-24 14:56 ` fweimer at redhat dot com
2012-07-24 18:15 ` bugdal at aerifal dot cx
2012-07-24 18:35 ` carlos_odonell at mentor dot com
2012-07-24 23:04 ` bugdal at aerifal dot cx
2012-07-25  2:20 ` carlos_odonell at mentor dot com
2012-12-03 23:57 ` carlos at systemhalted dot org
2014-03-24 13:57 ` fweimer at redhat dot com
2014-03-24 15:19 ` bugdal at aerifal dot cx
2014-03-24 18:32 ` carlos at redhat dot com
2014-04-01 10:13 ` cvs-commit at gcc dot gnu.org
2014-04-01 11:54 ` joseph at codesourcery dot com
2014-04-01 12:21 ` fweimer at redhat dot com
2014-04-01 12:21 ` cvs-commit at gcc dot gnu.org
2014-06-27 11:43 ` fweimer at redhat dot com
2014-06-27 13:15 ` bugdal at aerifal dot cx
2014-07-09 10:26 ` fweimer at redhat dot com
2014-07-22 12:35 ` fweimer at redhat dot com [this message]
2014-07-22 12:57 ` bugdal at aerifal dot cx

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-13347-131-LjVUNw6kdi@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).