lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f272bdd3-526d-6737-c906-143d5e5fc478@gmail.com>
Date:   Sun, 3 Nov 2019 21:38:50 +0200
From:   Topi Miettinen <toiwoton@...il.com>
To:     "Eric W. Biederman" <ebiederm@...ssion.com>
Cc:     Luis Chamberlain <mcgrof@...nel.org>,
        Kees Cook <keescook@...omium.org>,
        Alexey Dobriyan <adobriyan@...il.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "open list:FILESYSTEMS (VFS and infrastructure)" 
        <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH] Allow restricting permissions in /proc/sys

On 3.11.2019 20.50, Eric W. Biederman wrote:
> Topi Miettinen <toiwoton@...il.com> writes:
> 
>> Several items in /proc/sys need not be accessible to unprivileged
>> tasks. Let the system administrator change the permissions, but only
>> to more restrictive modes than what the sysctl tables allow.
> 
> This looks quite buggy.  You neither update table->mode nor
> do you ever read from table->mode to initialize the inode.
> I am missing something in my quick reading of your patch?

inode->i_mode gets initialized in proc_sys_make_inode().

I didn't want to touch the table, so that the original permissions can 
be used to restrict the changes made. In case the restrictions are 
removed as suggested by Theodore Ts'o, table->mode could be changed. 
Otherwise I'd rather add a new field to store the current mode and the 
mode field can remain for reference. As the original author of the code 
from 2007, would you let the administrator to chmod/chown the items in 
/proc/sys without restrictions (e.g. 0400 -> 0777)?

> The not updating table->mode almost certainly means that as soon as the
> cached inode is invalidated the mode changes will disappear.  Not to
> mention they will fail to propogate between  different instances of
> proc.
> 
> Loosing all of your changes at cache invalidation seems to make this a
> useless feature.

At least different proc instances seem to work just fine here (they show 
the same changes), but I suppose you are right about cache invalidation.

-Topi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ