Re: [PATCH 09/24] kexec_file: Disable at runtime if securelevel has been set

From: Mimi Zohar
Date: Thu Apr 06 2017 - 23:49:51 EST


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 <joeyli.kernel@xxxxxxxxx>
> >
> > 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 <mjg59@xxxxxxxxxxxxx>
> > Signed-off-by: Chun-Yi Lee <jlee@xxxxxxxx>
> > Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
> > cc: kexec@xxxxxxxxxxxxxxxxxxx
> > ---
> >
> > 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@xxxxxxxxxxxxxxxxxxx
> > http://lists.infradead.org/mailman/listinfo/kexec
>
> Acked-by: Dave Young <dyoung@xxxxxxxxxx>
>
> Thanks
> Dave
> --
> To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>