All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
To: Alexander Larsson <alexl-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: gnome-os-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org,
	Linux Containers
	<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>,
	mclasen-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	"Eric W. Biederman"
	<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
	Linux FS Devel
	<linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] devpts: Add ptmx_uid and ptmx_gid options
Date: Thu, 02 Apr 2015 13:12:05 +0300	[thread overview]
Message-ID: <1427969525.3559.120.camel@HansenPartnership.com> (raw)
In-Reply-To: <1427811444.4411.20.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Tue, 2015-03-31 at 16:17 +0200, Alexander Larsson wrote:
> On tis, 2015-03-31 at 17:08 +0300, James Bottomley wrote:
> > On Tue, 2015-03-31 at 06:59 -0700, Andy Lutomirski wrote:
> > > 
> > > I don't think that this is correct.  That user can already create a
> > > nested userns and map themselves as 0 inside it.  Then they can mount
> > > devpts.
> > 
> > I don't mind if they create a container and control the isolated ttys in
> > that sub container in the VPS; that's fine.  I do mind if they get
> > access to the ttys in the VPS.
> > 
> > If you can convince me (and the rest of Linux) that the tty subsystem
> > should be mountable by an unprivileged user generally, then what you
> > propose is OK.
> 
> That is controlled by the general rights to mount stuff. I.e. unless you
> have CAP_SYS_ADMIN in the VPS container you will not be able to mount
> devpts there. You can only do it in a subcontainer where you got
> permissions to mount via using user namespaces.

OK let me try again.  Fine, if you want to speak capabilities, you've
given a non-root user an unexpected capability (the capability of
creating a ptmx device).  But you haven't used a capability separation
to do this, you've just hard coded it via a mount parameter mechanism.

If you want to do this thing, do it properly, so it's acceptable to the
whole of Linux, not a special corner case for one particular type of
container.

Security breaches are created when people code in special, little used,
corner cases because they don't get as thoroughly tested and inspected
as generally applicable mechanisms.

What you want is to be able to use the tty subsystem as a non root user:
fine, but set that up globally, don't hide it in containers so a lot
fewer people care.

James

WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Alexander Larsson <alexl@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	gnome-os-list@gnome.org,
	Linux Containers <containers@lists.linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	mclasen@redhat.com, "Eric W. Biederman" <ebiederm@xmission.com>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] devpts: Add ptmx_uid and ptmx_gid options
Date: Thu, 02 Apr 2015 13:12:05 +0300	[thread overview]
Message-ID: <1427969525.3559.120.camel@HansenPartnership.com> (raw)
In-Reply-To: <1427811444.4411.20.camel@redhat.com>

On Tue, 2015-03-31 at 16:17 +0200, Alexander Larsson wrote:
> On tis, 2015-03-31 at 17:08 +0300, James Bottomley wrote:
> > On Tue, 2015-03-31 at 06:59 -0700, Andy Lutomirski wrote:
> > > 
> > > I don't think that this is correct.  That user can already create a
> > > nested userns and map themselves as 0 inside it.  Then they can mount
> > > devpts.
> > 
> > I don't mind if they create a container and control the isolated ttys in
> > that sub container in the VPS; that's fine.  I do mind if they get
> > access to the ttys in the VPS.
> > 
> > If you can convince me (and the rest of Linux) that the tty subsystem
> > should be mountable by an unprivileged user generally, then what you
> > propose is OK.
> 
> That is controlled by the general rights to mount stuff. I.e. unless you
> have CAP_SYS_ADMIN in the VPS container you will not be able to mount
> devpts there. You can only do it in a subcontainer where you got
> permissions to mount via using user namespaces.

OK let me try again.  Fine, if you want to speak capabilities, you've
given a non-root user an unexpected capability (the capability of
creating a ptmx device).  But you haven't used a capability separation
to do this, you've just hard coded it via a mount parameter mechanism.

If you want to do this thing, do it properly, so it's acceptable to the
whole of Linux, not a special corner case for one particular type of
container.

Security breaches are created when people code in special, little used,
corner cases because they don't get as thoroughly tested and inspected
as generally applicable mechanisms.

What you want is to be able to use the tty subsystem as a non root user:
fine, but set that up globally, don't hide it in containers so a lot
fewer people care.

James



  parent reply	other threads:[~2015-04-02 10:12 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21  1:04 [PATCH] devpts: Add ptmx_uid and ptmx_gid options Andy Lutomirski
2015-02-21  1:04 ` Andy Lutomirski
     [not found] ` <b321c0c2729d1c2a72aea319b077dce7afd79698.1424480579.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2015-03-26 19:29   ` Andy Lutomirski
2015-03-26 19:29 ` Andy Lutomirski
     [not found]   ` <CALCETrVtGE8LdBCFTe1_cqpLf=SxPNX5iCe5wa-hZ0pe8ps_jA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-27  9:03     ` James Bottomley
2015-03-27  9:03       ` James Bottomley
2015-03-31  7:57       ` Alexander Larsson
     [not found]         ` <1427788642.4411.12.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-31 13:06           ` Andy Lutomirski
2015-03-31 13:06             ` Andy Lutomirski
2015-03-31 13:07           ` James Bottomley
2015-03-31 13:07             ` James Bottomley
     [not found]             ` <1427807248.2117.117.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:11               ` Alexander Larsson
2015-03-31 13:12               ` Andy Lutomirski
2015-03-31 13:11             ` Alexander Larsson
2015-03-31 13:12             ` Andy Lutomirski
     [not found]               ` <CALCETrWKA4ZdHfdLuW0_W5xxJOSCJdt_fiRWs6vDk+8ZQ9n9iA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 13:23                 ` James Bottomley
2015-03-31 13:23                   ` James Bottomley
2015-03-31 13:44                   ` Andy Lutomirski
2015-03-31 13:55                     ` James Bottomley
2015-03-31 13:59                       ` Andy Lutomirski
     [not found]                         ` <CALCETrU1vKf3fXPt8nS-ABDgfp8NxrFjHwTc68rA0rtvg2Lufg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 14:08                           ` James Bottomley
2015-03-31 14:08                             ` James Bottomley
     [not found]                             ` <1427810886.2117.129.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 14:17                               ` Alexander Larsson
2015-03-31 14:17                             ` Alexander Larsson
     [not found]                               ` <1427811444.4411.20.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-02 10:12                                 ` James Bottomley [this message]
2015-04-02 10:12                                   ` James Bottomley
     [not found]                                   ` <1427969525.3559.120.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-02 14:06                                     ` Andy Lutomirski
2015-04-02 14:06                                       ` Andy Lutomirski
2015-04-02 14:29                                       ` Alexander Larsson
     [not found]                                         ` <1427984969.13651.11.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-02 14:33                                           ` Andy Lutomirski
2015-04-02 14:33                                             ` Andy Lutomirski
     [not found]                                             ` <CALCETrWYit+WiAM6DFm0enGeJN==uWNC63zXp_zRSsSJg2YGPg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-02 15:49                                               ` Serge Hallyn
2015-04-02 15:49                                                 ` Serge Hallyn
2015-04-02 18:27                                               ` Eric W. Biederman
2015-04-02 18:27                                                 ` Eric W. Biederman
     [not found]                                                 ` <87zj6qs7v8.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-27 21:32                                                   ` Andy Lutomirski
2015-05-27 21:32                                                 ` Andy Lutomirski
     [not found]                                                   ` <CALCETrVGcCA2SMiDT8JN=AWiSFCXWSaMeKBQmkbKynKfiPJCwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 16:44                                                     ` Eric W. Biederman
2015-05-28 16:44                                                       ` Eric W. Biederman
2015-05-28 17:01                                                       ` Alexander Larsson
     [not found]                                                         ` <1432832511.21304.6.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-28 17:14                                                           ` Eric W. Biederman
2015-05-28 17:14                                                             ` Eric W. Biederman
2015-05-28 17:35                                                             ` Alexander Larsson
     [not found]                                                             ` <87mw0omxp0.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-28 17:35                                                               ` Alexander Larsson
2015-05-28 20:06                                                               ` Alexander Larsson
2015-05-28 20:06                                                             ` Alexander Larsson
2015-05-28 20:17                                                               ` Kenton Varda
     [not found]                                                                 ` <CAOP=4wggpXOC4qLWgNAdw7Ws4vtYR=hscNYzDCfby+-VUxhoQg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 21:50                                                                   ` Eric W. Biederman
2015-05-28 21:50                                                                     ` Eric W. Biederman
     [not found]                                                               ` <1432843577.9873.1.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-28 20:17                                                                 ` Kenton Varda
2015-05-28 17:30                                                           ` Andy Lutomirski
2015-05-28 17:30                                                         ` Andy Lutomirski
     [not found]                                                           ` <CALCETrUueGomqFG0DSpt5Ern-XW6DE+rAEkd=3Y2ekV+gOwLAA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 19:42                                                             ` Eric W. Biederman
2015-05-28 19:42                                                               ` Eric W. Biederman
     [not found]                                                               ` <87siagh4kh.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-03-08  4:59                                                                 ` Andy Lutomirski
2016-03-08  4:59                                                                   ` Andy Lutomirski
     [not found]                                                                   ` <CALCETrXNyyG-LZ8ds5ALbWs_Tfonev4+Ci=XZwWFqsSeszes8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-08  9:16                                                                     ` Alexander Larsson
2016-03-08  9:16                                                                   ` Alexander Larsson
     [not found]                                                                     ` <1457428591.27353.55.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-08 18:17                                                                       ` Andy Lutomirski
2016-03-08 18:17                                                                         ` Andy Lutomirski
     [not found]                                                       ` <87oal4odne.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-28 17:01                                                         ` Alexander Larsson
     [not found]                                       ` <CALCETrWyUYgHY53O451AdJUs9Mcjsqmr4fUzoNmYsTP1HLq+VA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-02 14:29                                         ` Alexander Larsson
     [not found]                       ` <1427810118.2117.126.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:59                         ` Andy Lutomirski
     [not found]                     ` <CALCETrW8v1NFa7fcJbyJKXk9Msudht5BJ7Zy1Rg7ZC_TS-2Y-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 13:55                       ` James Bottomley
     [not found]                   ` <1427808184.2117.122.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:44                     ` Andy Lutomirski
     [not found]       ` <1427447013.2250.9.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31  7:57         ` Alexander Larsson
2015-05-18 21:04     ` Alexander Larsson
2015-05-18 21:04       ` Alexander Larsson

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=1427969525.3559.120.camel@HansenPartnership.com \
    --to=james.bottomley-d9phhud1jfjcxq6kfmz53/egyhegw8jk@public.gmane.org \
    --cc=alexl-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=gnome-os-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
    --cc=mclasen-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    /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.