Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754165AbcKRS7B (ORCPT ); Fri, 18 Nov 2016 13:59:01 -0500 Received: from out01.mta.xmission.com ([166.70.13.231]:36689 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752084AbcKRS65 (ORCPT ); Fri, 18 Nov 2016 13:58:57 -0500 From: ebiederm@xmission.com (Eric W. Biederman) To: Kees Cook Cc: Linux Containers , Oleg Nesterov , "linux-kernel\@vger.kernel.org" , "linux-mm\@kvack.org" , Linux FS Devel , Michal Hocko , Jann Horn , Willy Tarreau , Andy Lutomirski References: <87twcbq696.fsf@x220.int.ebiederm.org> <20161018135031.GB13117@dhcp22.suse.cz> <8737jt903u.fsf@xmission.com> <20161018150507.GP14666@pc.thejh.net> <87twc9656s.fsf@xmission.com> <20161018191206.GA1210@laptop.thejh.net> <87r37dnz74.fsf@xmission.com> <87k2d5nytz.fsf_-_@xmission.com> <87y41kjn6l.fsf@xmission.com> <20161019172917.GE1210@laptop.thejh.net> <87pomwi5p2.fsf@xmission.com> <87pomwghda.fsf@xmission.com> <87twb6avk8.fsf_-_@xmission.com> <87oa1eavfx.fsf_-_@xmission.com> Date: Fri, 18 Nov 2016 12:56:15 -0600 In-Reply-To: (Kees Cook's message of "Thu, 17 Nov 2016 15:14:22 -0800") Message-ID: <87y40gpqgg.fsf@xmission.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1c7oN6-0007dW-CE;;;mid=<87y40gpqgg.fsf@xmission.com>;;;hst=in02.mta.xmission.com;;;ip=75.170.125.99;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX18CltZaClcXNoA88h0UEGVs134SLM0ERiY= X-SA-Exim-Connect-IP: 75.170.125.99 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 TVD_RCVD_IP Message was received from an IP address * 1.5 TR_Symld_Words too many words that have symbols inside * 0.7 XMSubLong Long Subject * 1.5 XMNoVowels Alpha-numberic number with no vowels * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5000] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa01 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 T_TooManySym_02 5+ unique symbols in subject * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa01 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;Kees Cook X-Spam-Relay-Country: X-Spam-Timing: total 6030 ms - load_scoreonly_sql: 0.05 (0.0%), signal_user_changed: 3.8 (0.1%), b_tie_ro: 2.7 (0.0%), parse: 1.33 (0.0%), extract_message_metadata: 30 (0.5%), get_uri_detail_list: 2.5 (0.0%), tests_pri_-1000: 11 (0.2%), tests_pri_-950: 1.96 (0.0%), tests_pri_-900: 1.65 (0.0%), tests_pri_-400: 34 (0.6%), check_bayes: 32 (0.5%), b_tokenize: 13 (0.2%), b_tok_get_all: 9 (0.1%), b_comp_prob: 4.4 (0.1%), b_tok_touch_all: 3.0 (0.1%), b_finish: 0.87 (0.0%), tests_pri_0: 537 (8.9%), check_dkim_signature: 0.85 (0.0%), check_dkim_adsp: 4.5 (0.1%), tests_pri_500: 5404 (89.6%), poll_dns_idle: 5395 (89.5%), rewrite_mail: 0.00 (0.0%) Subject: Re: [REVIEW][PATCH 1/3] ptrace: Capture the ptracer's creds not PT_PTRACE_CAP X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1609 Lines: 43 Kees Cook writes: > On Thu, Nov 17, 2016 at 9:05 AM, Eric W. Biederman > wrote: >> >> When the flag PT_PTRACE_CAP was added the PTRACE_TRACEME path was >> overlooked. This can result in incorrect behavior when an application >> like strace traces an exec of a setuid executable. >> >> Further PT_PTRACE_CAP does not have enough information for making good >> security decisions as it does not report which user namespace the >> capability is in. This has already allowed one mistake through >> insufficient granulariy. >> >> I found this issue when I was testing another corner case of exec and >> discovered that I could not get strace to set PT_PTRACE_CAP even when >> running strace as root with a full set of caps. >> >> This change fixes the above issue with strace allowing stracing as >> root a setuid executable without disabling setuid. More fundamentaly >> this change allows what is allowable at all times, by using the correct >> information in it's decision. >> >> Cc: stable@vger.kernel.org >> Fixes: 4214e42f96d4 ("v2.4.9.11 -> v2.4.9.12") >> Signed-off-by: "Eric W. Biederman" >> --- >> [...] >> diff --git a/include/linux/sched.h b/include/linux/sched.h >> index 348f51b0ec92..8fe58255d219 100644 >> --- a/include/linux/sched.h >> +++ b/include/linux/sched.h >> @@ -1656,6 +1656,7 @@ struct task_struct { >> struct list_head cpu_timers[3]; >> >> /* process credentials */ >> + const struct cred __rcu *ptracer_cred; /* Tracer's dredentials at attach */ > > Typo: credentials. Thank you, fixed. Eric