Re: [PATCH 11/11] evm: Don't update hmacs in user ns mounts

From: Mimi Zohar
Date: Sun Dec 24 2017 - 00:12:32 EST


Hi Serge,

On Fri, 2017-12-22 at 22:03 -0600, Serge E. Hallyn wrote:
> On Fri, Dec 22, 2017 at 03:32:35PM +0100, Dongsu Park wrote:
> > From: Seth Forshee <seth.forshee@xxxxxxxxxxxxx>
> >
> > The kernel should not calculate new hmacs for mounts done by
> > non-root users. Update evm_calc_hmac_or_hash() to refuse to
> > calculate new hmacs for mounts for non-init user namespaces.
> >
> > Cc: linux-integrity@xxxxxxxxxxxxxxx
> > Cc: linux-security-module@xxxxxxxxxxxxxxx
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: James Morris <james.l.morris@xxxxxxxxxx>
> > Cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx>
>
> Hi Mimi,
>
> does this change seem sufficient to you?

I think this is the correct behavior in the context of fuse file
systems. ÂThis patch, the "ima: define a new policy option named
force" patch, and an updated IMA policy should be upstreamed together.
ÂThe cover letter should provide the motivation for these patches.

Mimi

>
> > Cc: "Serge E. Hallyn" <serge@xxxxxxxxxx>
> > Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx>
> > Signed-off-by: Dongsu Park <dongsu@xxxxxxxxxx>
> > ---
> > security/integrity/evm/evm_crypto.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c
> > index bcd64baf..729f4545 100644
> > --- a/security/integrity/evm/evm_crypto.c
> > +++ b/security/integrity/evm/evm_crypto.c
> > @@ -190,7 +190,8 @@ static int evm_calc_hmac_or_hash(struct dentry *dentry,
> > int error;
> > int size;
> >
> > - if (!(inode->i_opflags & IOP_XATTR))
> > + if (!(inode->i_opflags & IOP_XATTR) ||
> > + inode->i_sb->s_user_ns != &init_user_ns)
> > return -EOPNOTSUPP;
> >
> > desc = init_desc(type);
> > --
> > 2.13.6
>