From: "Serge E. Hallyn" <serge@hallyn.com>
To: Kees Cook <keescook@chromium.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Tom Horsley <horsley1953@gmail.com>,
Laura Abbott <labbott@redhat.com>,
David Howells <dhowells@redhat.com>,
James Morris <james.l.morris@oracle.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] exec: Weaken dumpability for secureexec
Date: Wed, 3 Jan 2018 11:41:15 -0600 [thread overview]
Message-ID: <20180103174115.GA15331@mail.hallyn.com> (raw)
In-Reply-To: <CAGXu5jJfqWJG=kk+dkd+p2Tb0AvX2Cve0cCFjC+xYraZZQTzQw@mail.gmail.com>
Quoting Kees Cook (keescook@chromium.org):
> On Tue, Jan 2, 2018 at 11:06 PM, Serge E. Hallyn <serge@hallyn.com> wrote:
> > On Tue, Jan 02, 2018 at 03:21:33PM -0800, Kees Cook wrote:
> >> This is a logical revert of:
> >>
> >> commit e37fdb785a5f ("exec: Use secureexec for setting dumpability")
> >>
> >> This weakens dumpability back to checking only for uid/gid changes in
> >> current (which is useless), but userspace depends on dumpability not
> >> being tied to secureexec.
> >>
> >> https://bugzilla.redhat.com/show_bug.cgi?id=1528633
> >>
> >> Reported-by: Tom Horsley <horsley1953@gmail.com>
> >> Fixes: e37fdb785a5f ("exec: Use secureexec for setting dumpability")
> >> Cc: stable@vger.kernel.org
> >> Signed-off-by: Kees Cook <keescook@chromium.org>
> >> ---
> >> fs/exec.c | 9 +++++++--
> >> 1 file changed, 7 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/fs/exec.c b/fs/exec.c
> >> index 5688b5e1b937..7eb8d21bcab9 100644
> >> --- a/fs/exec.c
> >> +++ b/fs/exec.c
> >> @@ -1349,9 +1349,14 @@ void setup_new_exec(struct linux_binprm * bprm)
> >>
> >> current->sas_ss_sp = current->sas_ss_size = 0;
> >>
> >> - /* Figure out dumpability. */
> >> + /*
> >> + * Figure out dumpability. Note that this checking only of current
> >> + * is wrong, but userspace depends on it. This should be testing
> >> + * bprm->secureexec instead.
> >> + */
> >> if (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP ||
> >> - bprm->secureexec)
> >> + !(uid_eq(current_euid(), current_uid()) &&
> >> + gid_eq(current_egid(), current_gid())))
> >
> > So what about the pdeath_signal? Is that going to be another subtle
> > time-bomb?
>
> pdeath_signal used another wrong method to set itself, but it was
> better than dumpable. I'd rather we leave it as-is, since I'd like to
> have everything controlled by secureexec.
Yes, but if there is some weird userspace out there that depends on
pdeath_signal handling in the same corner case, then we'll break that
just like we did, except it'll be even harder to track down, because
debugging a wrong pdeath_signal will be even more subtle, and it'll
fail only when it's supposed to be exiting...
> The more interesting thing here is that secureexec is set for a
> process that ISN'T actually setuid. (ptrace of a setuid process). I
yeah i'd like to find some time to track that down too.
> think tha'ts the real bug, but not something I'm going to be able to
> fix quickly. So, for now, I want to revert this, then try to fix the
> weird case, and see if that breaks anyone, then fix this back to
> secureexec.
That sounds good, I'm only saying that the core bug is the wrong setting
of secureexec, and you've switched both setting of pdeath and
dumpability to using secureexec, so it stands to reason that setting of
pdeath is still wrong in these cases.
-serge
next prev parent reply other threads:[~2018-01-03 17:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-02 23:21 [PATCH] exec: Weaken dumpability for secureexec Kees Cook
2018-01-03 7:04 ` Serge E. Hallyn
2018-01-03 12:11 ` Tom Horsley
2018-01-03 17:21 ` Kees Cook
2018-01-03 17:34 ` Laura Abbott
2018-01-03 7:06 ` Serge E. Hallyn
2018-01-03 17:21 ` Kees Cook
2018-01-03 17:41 ` Serge E. Hallyn [this message]
2018-01-03 19:08 ` Tom Horsley
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=20180103174115.GA15331@mail.hallyn.com \
--to=serge@hallyn.com \
--cc=dhowells@redhat.com \
--cc=horsley1953@gmail.com \
--cc=james.l.morris@oracle.com \
--cc=keescook@chromium.org \
--cc=labbott@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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