Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1690976
| From | Kees Cook <keescook@chromium.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v3 00/15] exec: Use sane stack rlimit under secureexec |
| Date | 2017-07-19 07:30 +0200 |
| Message-ID | <u4PIB-41k-5@gated-at.bofh.it> (permalink) |
| References | <u4Ja9-8f4-3@gated-at.bofh.it> <u4NQt-2L1-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Jul 18, 2017 at 8:22 PM, Serge E. Hallyn <serge@hallyn.com> wrote: > On Tue, Jul 18, 2017 at 03:25:21PM -0700, Kees Cook wrote: >> This series has grown... :P >> >> As discussed with Linus and Andy, we need to reset the stack rlimit >> before we do memory layouts when execing a privilege-gaining (e.g. >> setuid) program. To do this, we need to know the results of the >> bprm_secureexec hook before memory layouts. As it turns out, this >> can be made _mostly_ trivial by collapsing bprm_secureexec into >> bprm_set_creds. >> >> The LSMs using bprm_secureexec nearly always save state between >> bprm_set_creds and bprm_secureexec. In the face of multiple calls to >> bprm_set_creds (via prepare_binprm() calls from binfmt_script, etc), >> all LSMs except commoncap only pay attention to the first call, so >> that aligns well with collapsing bprm_secureexec into bprm_set_creds. >> The commoncaps, though, needs to check the _last_ bprm_set_creds, so >> this series just swaps one bprm flag for another (cap_effective is no >> longer needed to save state between bprm_set_creds and bprm_secureexec, >> but we do need to keep a separate state, so we add the cap_elevated flag). >> >> Once secureexec is available to setup_new_exec() before the memory >> layout, we can add an rlimit sanity-check for setuid execs. (With no >> need to clean up since we're past the point of no return.) >> >> Along the way, this fixes comments, renames a variable, and consolidates >> dumpability and pdeath_signal clearing, which includes some commit log >> archeology to examine the subtle differences between what we had and >> what we need. >> >> I'd appreciate some extra eyes on this to make sure this isn't broken >> in some special way. Looking at the diffstat, even after all my long >> comments, this is a net reduction in lines. :) >> >> Given this crosses a bunch of areas, I think this is likely best to >> go via the -mm tree, which is where nearly all of my prior exec work >> has lived too. >> >> Thanks! >> >> -Kees >> ---------------------------------------------------------------- >> Kees Cook (15): >> binfmt: Introduce secureexec flag >> exec: Rename bprm->cred_prepared to called_set_creds >> apparmor: Refactor to remove bprm_secureexec hook >> selinux: Refactor to remove bprm_secureexec hook >> smack: Refactor to remove bprm_secureexec hook >> commoncap: Refactor to remove bprm_secureexec hook >> commoncap: Move cap_elevated calculation into bprm_set_creds >> LSM: drop bprm_secureexec hook >> exec: Correct comments about "point of no return" >> exec: Use secureexec for setting dumpability >> exec: Use secureexec for clearing pdeath_signal >> smack: Remove redundant pdeath_signal clearing >> exec: Consolidate dumpability logic >> exec: Use sane stack rlimit under secureexec >> exec: Consolidate pdeath_signal clearing > > Thanks, the set looks good to me, Thanks! > Acked-by: Serge Hallyn <serge@hallyn.com> > > Have you had a chance to run the ltp caps tests against this? The LTP caps tests I could find are these: sudo ./runltp -f syscalls -s cap sudo ./runltp -f securebits sudo ./runltp -f cap_bounds sudo ./runltp -f filecaps They all run successfully. Was there other stuff from LTP? And, FWIW, the kernel selftests for capabilities and exec continue to pass too. -Kees -- Kees Cook Pixel Security
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH v3 00/15] exec: Use sane stack rlimit under secureexec Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
[PATCH v3 05/15] smack: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 05/15] smack: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-26 06:00 +0200
Re: [PATCH v3 05/15] smack: Refactor to remove bprm_secureexec hook Casey Schaufler <casey@schaufler-ca.com> - 2017-07-26 20:00 +0200
[PATCH v3 12/15] smack: Remove redundant pdeath_signal clearing Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
[PATCH v3 14/15] exec: Use sane stack rlimit under secureexec Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 14/15] exec: Use sane stack rlimit under secureexec James Morris <jmorris@namei.org> - 2017-07-19 11:50 +0200
[PATCH v3 11/15] exec: Use secureexec for clearing pdeath_signal Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
[PATCH v3 06/15] commoncap: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 06/15] commoncap: Refactor to remove bprm_secureexec hook Andy Lutomirski <luto@kernel.org> - 2017-07-19 03:20 +0200
Re: [PATCH v3 06/15] commoncap: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-19 06:50 +0200
Re: [PATCH v3 06/15] commoncap: Refactor to remove bprm_secureexec hook Andy Lutomirski <luto@kernel.org> - 2017-07-20 07:00 +0200
Re: [PATCH v3 06/15] commoncap: Refactor to remove bprm_secureexec hook James Morris <jmorris@namei.org> - 2017-07-19 11:30 +0200
[PATCH v3 01/15] binfmt: Introduce secureexec flag Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 01/15] binfmt: Introduce secureexec flag John Johansen <john.johansen@canonical.com> - 2017-07-19 02:10 +0200
Re: [PATCH v3 01/15] binfmt: Introduce secureexec flag Andy Lutomirski <luto@kernel.org> - 2017-07-19 03:10 +0200
[PATCH v3 15/15] exec: Consolidate pdeath_signal clearing Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
[PATCH v3 13/15] exec: Consolidate dumpability logic Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
[PATCH v3 07/15] commoncap: Move cap_elevated calculation into bprm_set_creds Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 07/15] commoncap: Move cap_elevated calculation into bprm_set_creds Andy Lutomirski <luto@kernel.org> - 2017-07-19 04:00 +0200
Re: [PATCH v3 07/15] commoncap: Move cap_elevated calculation into bprm_set_creds James Morris <jmorris@namei.org> - 2017-07-19 11:30 +0200
[PATCH v3 10/15] exec: Use secureexec for setting dumpability Kees Cook <keescook@chromium.org> - 2017-07-19 00:30 +0200
Re: [PATCH v3 10/15] exec: Use secureexec for setting dumpability Kees Cook <keescook@chromium.org> - 2017-07-26 06:00 +0200
[PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-19 00:40 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-20 02:10 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-20 02:20 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-20 03:40 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-20 15:50 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-20 19:10 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-20 22:50 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-21 17:50 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Kees Cook <keescook@chromium.org> - 2017-07-21 19:40 +0200
Re: [PATCH v3 04/15] selinux: Refactor to remove bprm_secureexec hook Paul Moore <paul@paul-moore.com> - 2017-07-21 21:20 +0200
[PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds Kees Cook <keescook@chromium.org> - 2017-07-19 00:40 +0200
Re: [PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds John Johansen <john.johansen@canonical.com> - 2017-07-19 02:10 +0200
Re: [PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds Andy Lutomirski <luto@kernel.org> - 2017-07-19 03:10 +0200
Re: [PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds Kees Cook <keescook@chromium.org> - 2017-07-19 06:50 +0200
Re: [PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds James Morris <jmorris@namei.org> - 2017-07-19 11:30 +0200
Re: [PATCH v3 02/15] exec: Rename bprm->cred_prepared to called_set_creds Paul Moore <paul@paul-moore.com> - 2017-07-20 02:00 +0200
Re: [PATCH v3 00/15] exec: Use sane stack rlimit under secureexec Linus Torvalds <torvalds@linux-foundation.org> - 2017-07-19 01:10 +0200
Re: [PATCH v3 00/15] exec: Use sane stack rlimit under secureexec "Serge E. Hallyn" <serge@hallyn.com> - 2017-07-19 05:30 +0200
Re: [PATCH v3 00/15] exec: Use sane stack rlimit under secureexec Kees Cook <keescook@chromium.org> - 2017-07-19 07:30 +0200
csiph-web