Re: [PATCH 0/3] kexec: limit kexec_load syscall

Eric W. Biederman
2018-05-03T20:13:30Z

Mimi Zohar <zohar@linux.vnet.ibm.com> writes:

> In environments that require the kexec kernel image to be signed, prevent
> using the kexec_load syscall. In order for LSMs and IMA to differentiate
> between kexec_load and kexec_file_load syscalls, this patch set adds a
> call to security_kernel_read_file() in kexec_load_check().

Having thought about it some more this justification for these changes
does not work. The functionality of kexec_load is already root-only.
So in environments that require the kernel image to be signed just don't
use kexec_load. Possibly even compile kexec_load out to save space
because you will never need it. You don't need a new security hook to
do any of that. Userspace is a very fine mechanism for being the
instrument of policy.

If you don't trust userspace that needs to be spelled out very clearly.
You need to talk about what your threat models are.

If the only justification is so that that we can't boot windows if
someone hacks into userspace it has my nack because that is another kind
of complete non-sense.

Given that you are not trusting userspace this changeset also probably
needs to have the kernel-hardening list cc'd. Because the only possible
justification I can imagine for something like this is kernel-hardening.

Eric