All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Jerry Snitselaar <jsnitsel@redhat.com>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: linux-integrity@vger.kernel.org, Mimi Zohar <zohar@linux.ibm.com>,
	David Woodhouse <dwmw2@infradead.org>,
	keyrings@vger.kernel.org, David Howells <dhowells@redhat.com>
Subject: Re: [PATCH v9 0/8] TPM 2.0 trusted keys with attached policy
Date: Fri, 15 May 2020 20:10:17 +0000	[thread overview]
Message-ID: <1589573417.3653.28.camel@HansenPartnership.com> (raw)
In-Reply-To: <1589571278.3653.22.camel@HansenPartnership.com>

On Fri, 2020-05-15 at 12:34 -0700, James Bottomley wrote:
> On Fri, 2020-05-15 at 12:17 -0700, Jerry Snitselaar wrote:
> > On Fri May 15 20, Jarkko Sakkinen wrote:
> > > On Thu, May 14, 2020 at 08:44:23PM -0700, James Bottomley wrote:
> > > > On Fri, 2020-05-15 at 05:22 +0300, Jarkko Sakkinen wrote:
> 
> [...]
> > > > > sudo ./keyctl-smoke.sh
> > > > > 566201053 (0x80000000)
> > > > > keyctl_read_alloc: Permission denied
> > 
> > I get keyctl_read_alloc -EPERM when I 'sudo su' and try to play
> > with
> > keyctl print.
> > If I 'sudo su -' and then try it works as expected. Also works for
> > normal user.
> 
> OK, I confirm on debian as well.  If I create a key as real root and
> then try to sudo su keyctl pipe it as an ordinary user, I get EPERM.
> 
> It smells like a cockup in real vs effective permissions somewhere in
> the keyctl handler.

OK, so the problem is

sudo keyctl list @s

Still shows the session keys of the previous user

that causes sudo keyctl show on a root owned key to fail the
is_key_possessed() check, returning -EACCESS which gets translated to
EPERM

if you do

sudo su -

Then keyctl list @s shows the root session keyring and everything works

I think that means the solution is not to run the smoke test under sudo
but to do sudo -s and then run it.

James

WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Jerry Snitselaar <jsnitsel@redhat.com>,
	Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: linux-integrity@vger.kernel.org, Mimi Zohar <zohar@linux.ibm.com>,
	David Woodhouse <dwmw2@infradead.org>,
	keyrings@vger.kernel.org, David Howells <dhowells@redhat.com>
Subject: Re: [PATCH v9 0/8] TPM 2.0 trusted keys with attached policy
Date: Fri, 15 May 2020 13:10:17 -0700	[thread overview]
Message-ID: <1589573417.3653.28.camel@HansenPartnership.com> (raw)
In-Reply-To: <1589571278.3653.22.camel@HansenPartnership.com>

On Fri, 2020-05-15 at 12:34 -0700, James Bottomley wrote:
> On Fri, 2020-05-15 at 12:17 -0700, Jerry Snitselaar wrote:
> > On Fri May 15 20, Jarkko Sakkinen wrote:
> > > On Thu, May 14, 2020 at 08:44:23PM -0700, James Bottomley wrote:
> > > > On Fri, 2020-05-15 at 05:22 +0300, Jarkko Sakkinen wrote:
> 
> [...]
> > > > > sudo ./keyctl-smoke.sh
> > > > > 566201053 (0x80000000)
> > > > > keyctl_read_alloc: Permission denied
> > 
> > I get keyctl_read_alloc -EPERM when I 'sudo su' and try to play
> > with
> > keyctl print.
> > If I 'sudo su -' and then try it works as expected. Also works for
> > normal user.
> 
> OK, I confirm on debian as well.  If I create a key as real root and
> then try to sudo su keyctl pipe it as an ordinary user, I get EPERM.
> 
> It smells like a cockup in real vs effective permissions somewhere in
> the keyctl handler.

OK, so the problem is

sudo keyctl list @s

Still shows the session keys of the previous user

that causes sudo keyctl show on a root owned key to fail the
is_key_possessed() check, returning -EACCESS which gets translated to
EPERM

if you do

sudo su -

Then keyctl list @s shows the root session keyring and everything works

I think that means the solution is not to run the smoke test under sudo
but to do sudo -s and then run it.

James



  parent reply	other threads:[~2020-05-15 20:10 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-07 23:11 [PATCH v9 0/8] TPM 2.0 trusted keys with attached policy James Bottomley
2020-05-07 23:11 ` James Bottomley
2020-05-07 23:11 ` [PATCH v9 1/8] lib: add ASN.1 encoder James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-17  8:17   ` Sakkinen, Jarkko
2020-05-17  8:17     ` Sakkinen, Jarkko
2020-05-07 23:11 ` [PATCH v9 2/8] oid_registry: Add TCG defined OIDS for TPM keys James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-07 23:11 ` [PATCH v9 3/8] security: keys: trusted: fix TPM2 authorizations James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-14  1:11   ` Jarkko Sakkinen
2020-05-14  1:11     ` Jarkko Sakkinen
2020-05-14  1:12     ` Jarkko Sakkinen
2020-05-14  1:12       ` Jarkko Sakkinen
2020-05-14  1:41       ` James Bottomley
2020-05-14  1:41         ` James Bottomley
2020-05-14 11:19         ` Jarkko Sakkinen
2020-05-14 11:19           ` Jarkko Sakkinen
2020-05-07 23:11 ` [PATCH v9 4/8] security: keys: trusted: use ASN.1 TPM2 key format for the blobs James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-17  8:18   ` Sakkinen, Jarkko
2020-05-17  8:18     ` Sakkinen, Jarkko
2020-05-07 23:11 ` [PATCH v9 5/8] security: keys: trusted: Make sealed key properly interoperable James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-07 23:11 ` [PATCH v9 6/8] security: keys: trusted: add PCR policy to TPM2 keys James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-07 23:11 ` [PATCH v9 7/8] security: keys: trusted: add ability to specify arbitrary policy James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-07 23:11 ` [PATCH v9 8/8] security: keys: trusted: implement counter/timer policy James Bottomley
2020-05-07 23:11   ` James Bottomley
2020-05-14 14:31 ` [PATCH v9 0/8] TPM 2.0 trusted keys with attached policy Jarkko Sakkinen
2020-05-14 14:31   ` Jarkko Sakkinen
2020-05-15  2:22   ` Jarkko Sakkinen
2020-05-15  2:22     ` Jarkko Sakkinen
2020-05-15  3:44     ` James Bottomley
2020-05-15  3:44       ` James Bottomley
2020-05-15  8:47       ` Jarkko Sakkinen
2020-05-15  8:47         ` Jarkko Sakkinen
2020-05-15  9:30         ` Jerry Snitselaar
2020-05-15  9:30           ` Jerry Snitselaar
2020-05-15 18:48           ` James Bottomley
2020-05-15 18:48             ` James Bottomley
2020-05-16 12:24             ` Jarkko Sakkinen
2020-05-16 12:24               ` Jarkko Sakkinen
2020-05-16  9:59           ` Jarkko Sakkinen
2020-05-16  9:59             ` Jarkko Sakkinen
2020-05-15 19:17         ` Jerry Snitselaar
2020-05-15 19:17           ` Jerry Snitselaar
2020-05-15 19:34           ` James Bottomley
2020-05-15 19:34             ` James Bottomley
2020-05-15 19:50             ` Mimi Zohar
2020-05-15 19:50               ` Mimi Zohar
2020-05-15 20:10             ` James Bottomley [this message]
2020-05-15 20:10               ` James Bottomley
2020-05-15 21:03               ` Kayaalp, Mehmet
2020-05-15 22:19                 ` James Bottomley
2020-05-15 22:19                   ` James Bottomley
2020-05-15 23:23                   ` James Bottomley
2020-05-15 23:23                     ` James Bottomley
2020-05-16 21:44                     ` Jarkko Sakkinen
2020-05-16 21:44                       ` Jarkko Sakkinen
2020-05-16 13:01               ` Sakkinen, Jarkko
2020-05-16 13:01                 ` Sakkinen, Jarkko
2020-05-16 12:33           ` Jarkko Sakkinen
2020-05-16 12:33             ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1589573417.3653.28.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=dhowells@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jsnitsel@redhat.com \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.