From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753899AbdDGDtd (ORCPT ); Thu, 6 Apr 2017 23:49:33 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:42642 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752486AbdDGDt0 (ORCPT ); Thu, 6 Apr 2017 23:49:26 -0400 Subject: Re: [PATCH 09/24] kexec_file: Disable at runtime if securelevel has been set From: Mimi Zohar To: Dave Young , David Howells Cc: linux-kernel@vger.kernel.org, Matthew Garrett , linux-efi@vger.kernel.org, gnomes@lxorguk.ukuu.org.uk, Chun-Yi Lee , gregkh@linuxfoundation.org, kexec@lists.infradead.org, linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, matthew.garrett@nebula.com Date: Thu, 06 Apr 2017 23:49:10 -0400 In-Reply-To: <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> References: <149142326734.5101.4596394505987813763.stgit@warthog.procyon.org.uk> <149142335441.5101.2294976563846442575.stgit@warthog.procyon.org.uk> <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-MML: disable x-cbid: 17040703-7323-0000-0000-000000E9FC85 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17040703-7324-0000-0000-0000028F2E81 Message-Id: <1491536950.4184.10.camel@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-07_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704070032 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2017-04-07 at 11:05 +0800, Dave Young wrote: > On 04/05/17 at 09:15pm, David Howells wrote: > > From: Chun-Yi Lee > > > > When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image > > through kexec_file systemcall if securelevel has been set. > > > > This code was showed in Matthew's patch but not in git: > > https://lkml.org/lkml/2015/3/13/778 > > > > Cc: Matthew Garrett > > Signed-off-by: Chun-Yi Lee > > Signed-off-by: David Howells > > cc: kexec@lists.infradead.org > > --- > > > > kernel/kexec_file.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c > > index b118735fea9d..f6937eecd1eb 100644 > > --- a/kernel/kexec_file.c > > +++ b/kernel/kexec_file.c > > @@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, > > if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) > > return -EPERM; > > > > + /* Don't permit images to be loaded into trusted kernels if we're not > > + * going to verify the signature on them > > + */ > > + if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && kernel_is_locked_down()) > > + return -EPERM; > > + > > IMA can be used to verify file signatures too, based on the LSM hooks in  kernel_read_file_from_fd().  CONFIG_KEXEC_VERIFY_SIG should not be required. Mimi > /* Make sure we have a legal set of flags */ > > if (flags != (flags & KEXEC_FILE_FLAGS)) > > return -EINVAL; > > > > > > _______________________________________________ > > kexec mailing list > > kexec@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/kexec > > Acked-by: Dave Young > > Thanks > Dave > -- > To unsubscribe from this list: send the line "unsubscribe linux-security-module" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > From mboxrd@z Thu Jan 1 00:00:00 1970 From: zohar@linux.vnet.ibm.com (Mimi Zohar) Date: Thu, 06 Apr 2017 23:49:10 -0400 Subject: [PATCH 09/24] kexec_file: Disable at runtime if securelevel has been set In-Reply-To: <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> References: <149142326734.5101.4596394505987813763.stgit@warthog.procyon.org.uk> <149142335441.5101.2294976563846442575.stgit@warthog.procyon.org.uk> <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> Message-ID: <1491536950.4184.10.camel@linux.vnet.ibm.com> To: linux-security-module@vger.kernel.org List-Id: linux-security-module.vger.kernel.org On Fri, 2017-04-07 at 11:05 +0800, Dave Young wrote: > On 04/05/17 at 09:15pm, David Howells wrote: > > From: Chun-Yi Lee > > > > When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image > > through kexec_file systemcall if securelevel has been set. > > > > This code was showed in Matthew's patch but not in git: > > https://lkml.org/lkml/2015/3/13/778 > > > > Cc: Matthew Garrett > > Signed-off-by: Chun-Yi Lee > > Signed-off-by: David Howells > > cc: kexec at lists.infradead.org > > --- > > > > kernel/kexec_file.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c > > index b118735fea9d..f6937eecd1eb 100644 > > --- a/kernel/kexec_file.c > > +++ b/kernel/kexec_file.c > > @@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, > > if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) > > return -EPERM; > > > > + /* Don't permit images to be loaded into trusted kernels if we're not > > + * going to verify the signature on them > > + */ > > + if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && kernel_is_locked_down()) > > + return -EPERM; > > + > > IMA can be used to verify file signatures too, based on the LSM hooks in ?kernel_read_file_from_fd(). ?CONFIG_KEXEC_VERIFY_SIG should not be required. Mimi > /* Make sure we have a legal set of flags */ > > if (flags != (flags & KEXEC_FILE_FLAGS)) > > return -EINVAL; > > > > > > _______________________________________________ > > kexec mailing list > > kexec at lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/kexec > > Acked-by: Dave Young > > Thanks > Dave > -- > To unsubscribe from this list: send the line "unsubscribe linux-security-module" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cwKu9-0001K8-Tq for kexec@lists.infradead.org; Fri, 07 Apr 2017 03:49:48 +0000 Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v373mm9U130092 for ; Thu, 6 Apr 2017 23:49:23 -0400 Received: from e28smtp07.in.ibm.com (e28smtp07.in.ibm.com [125.16.236.7]) by mx0a-001b2d01.pphosted.com with ESMTP id 29nwqdmwem-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 06 Apr 2017 23:49:22 -0400 Received: from localhost by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 7 Apr 2017 09:19:19 +0530 Received: from d28av06.in.ibm.com (d28av06.in.ibm.com [9.184.220.48]) by d28relay07.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v373lv118978666 for ; Fri, 7 Apr 2017 09:17:57 +0530 Received: from d28av06.in.ibm.com (localhost [127.0.0.1]) by d28av06.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id v373nGJw008901 for ; Fri, 7 Apr 2017 09:19:17 +0530 Subject: Re: [PATCH 09/24] kexec_file: Disable at runtime if securelevel has been set From: Mimi Zohar Date: Thu, 06 Apr 2017 23:49:10 -0400 In-Reply-To: <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> References: <149142326734.5101.4596394505987813763.stgit@warthog.procyon.org.uk> <149142335441.5101.2294976563846442575.stgit@warthog.procyon.org.uk> <20170407030545.GA4296@dhcp-128-65.nay.redhat.com> Mime-Version: 1.0 Message-Id: <1491536950.4184.10.camel@linux.vnet.ibm.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Dave Young , David Howells Cc: Matthew Garrett , linux-efi@vger.kernel.org, gnomes@lxorguk.ukuu.org.uk, gregkh@linuxfoundation.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Chun-Yi Lee , linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, matthew.garrett@nebula.com T24gRnJpLCAyMDE3LTA0LTA3IGF0IDExOjA1ICswODAwLCBEYXZlIFlvdW5nIHdyb3RlOgo+IE9u IDA0LzA1LzE3IGF0IDA5OjE1cG0sIERhdmlkIEhvd2VsbHMgd3JvdGU6Cj4gPiBGcm9tOiBDaHVu LVlpIExlZSA8am9leWxpLmtlcm5lbEBnbWFpbC5jb20+Cj4gPiAKPiA+IFdoZW4gS0VYRUNfVkVS SUZZX1NJRyBpcyBub3QgZW5hYmxlZCwga2VybmVsIHNob3VsZCBub3QgbG9hZHMgaW1hZ2UKPiA+ IHRocm91Z2gga2V4ZWNfZmlsZSBzeXN0ZW1jYWxsIGlmIHNlY3VyZWxldmVsIGhhcyBiZWVuIHNl dC4KPiA+IAo+ID4gVGhpcyBjb2RlIHdhcyBzaG93ZWQgaW4gTWF0dGhldydzIHBhdGNoIGJ1dCBu b3QgaW4gZ2l0Ogo+ID4gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTUvMy8xMy83NzgKPiA+IAo+ ID4gQ2M6IE1hdHRoZXcgR2FycmV0dCA8bWpnNTlAc3JjZi51Y2FtLm9yZz4KPiA+IFNpZ25lZC1v ZmYtYnk6IENodW4tWWkgTGVlIDxqbGVlQHN1c2UuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogRGF2 aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KPiA+IGNjOiBrZXhlY0BsaXN0cy5pbmZy YWRlYWQub3JnCj4gPiAtLS0KPiA+IAo+ID4gIGtlcm5lbC9rZXhlY19maWxlLmMgfCAgICA2ICsr KysrKwo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKPiA+IAo+ID4gZGlmZiAt LWdpdCBhL2tlcm5lbC9rZXhlY19maWxlLmMgYi9rZXJuZWwva2V4ZWNfZmlsZS5jCj4gPiBpbmRl eCBiMTE4NzM1ZmVhOWQuLmY2OTM3ZWVjZDFlYiAxMDA2NDQKPiA+IC0tLSBhL2tlcm5lbC9rZXhl Y19maWxlLmMKPiA+ICsrKyBiL2tlcm5lbC9rZXhlY19maWxlLmMKPiA+IEBAIC0yNjgsNiArMjY4 LDEyIEBAIFNZU0NBTExfREVGSU5FNShrZXhlY19maWxlX2xvYWQsIGludCwga2VybmVsX2ZkLCBp bnQsIGluaXRyZF9mZCwKPiA+ICAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQk9PVCkgfHwga2V4ZWNf bG9hZF9kaXNhYmxlZCkKPiA+ICAJCXJldHVybiAtRVBFUk07Cj4gPiAgCj4gPiArCS8qIERvbid0 IHBlcm1pdCBpbWFnZXMgdG8gYmUgbG9hZGVkIGludG8gdHJ1c3RlZCBrZXJuZWxzIGlmIHdlJ3Jl IG5vdAo+ID4gKwkgKiBnb2luZyB0byB2ZXJpZnkgdGhlIHNpZ25hdHVyZSBvbiB0aGVtCj4gPiAr CSAqLwo+ID4gKwlpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0tFWEVDX1ZFUklGWV9TSUcpICYmIGtl cm5lbF9pc19sb2NrZWRfZG93bigpKQo+ID4gKwkJcmV0dXJuIC1FUEVSTTsKPiA+ICsKPiA+ICAK CklNQSBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgZmlsZSBzaWduYXR1cmVzIHRvbywgYmFzZWQgb24g dGhlIExTTSBob29rcwppbiDCoGtlcm5lbF9yZWFkX2ZpbGVfZnJvbV9mZCgpLiDCoENPTkZJR19L RVhFQ19WRVJJRllfU0lHIHNob3VsZCBub3QgYmUKcmVxdWlyZWQuCgpNaW1pCgoKPiAJLyogTWFr ZSBzdXJlIHdlIGhhdmUgYSBsZWdhbCBzZXQgb2YgZmxhZ3MgKi8KPiA+ICAJaWYgKGZsYWdzICE9 IChmbGFncyAmIEtFWEVDX0ZJTEVfRkxBR1MpKQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAK PiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiA+IGtleGVjIG1haWxpbmcgbGlzdAo+ID4ga2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4g aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo+IAo+IEFj a2VkLWJ5OiBEYXZlIFlvdW5nIDxkeW91bmdAcmVkaGF0LmNvbT4KPiAKPiBUaGFua3MKPiBEYXZl Cj4gLS0KPiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5z dWJzY3JpYmUgbGludXgtc2VjdXJpdHktbW9kdWxlIiBpbgo+IHRoZSBib2R5IG9mIGEgbWVzc2Fn ZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAg aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCj4gCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGluZyBsaXN0 CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9rZXhlYwo=