[PATCH V31 25/25] debugfs: Disable open() when kernel is locked down

Andy Lutomirski luto at amacapital.net
Wed Mar 27 05:29:41 UTC 2019



> On Mar 26, 2019, at 10:06 PM, Greg KH <gregkh at linuxfoundation.org> wrote:
> 
>> On Tue, Mar 26, 2019 at 09:29:14PM -0700, Andy Lutomirski wrote:
>>> On Tue, Mar 26, 2019 at 5:31 PM Greg KH <gregkh at linuxfoundation.org> wrote:
>>> 
>>>> On Tue, Mar 26, 2019 at 12:20:24PM -0700, Andy Lutomirski wrote:
>>>> On Tue, Mar 26, 2019 at 11:28 AM Matthew Garrett
>>>> <matthewgarrett at google.com> wrote:
>>>>> 
>>>>> From: Matthew Garrett <mjg59 at google.com>
>>>>> 
>>>>> debugfs has not been meaningfully audited in terms of ensuring that
>>>>> userland cannot trample over the kernel. At Greg's request, disable
>>>>> access to it entirely when the kernel is locked down. This is done at
>>>>> open() time rather than init time as the kernel lockdown status may be
>>>>> made stricter at runtime.
>>>> 
>>>> Ugh.  Some of those files are very useful.  Could this perhaps still
>>>> allow O_RDONLY if we're in INTEGRITY mode?
>>> 
>>> Useful for what?  Debugging, sure, but for "normal operation", no kernel
>>> functionality should ever require debugfs.  If it does, that's a bug and
>>> should be fixed.
>>> 
>> 
>> I semi-regularly read files in debugfs to diagnose things, and I think
>> it would be good for this to work on distro kernels.
> 
> Doing that for debugging is wonderful.  People who want this type of
> "lock down" are trading potential security for diagnositic ability.
> 

I think you may be missing the point of splitting lockdown to separate integrity and confidentiality.  Can you actually think of a case where *reading* a debugfs file can take over a kernel?



More information about the Linux-security-module-archive mailing list