Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1662171 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2017-06-09 11:30 +0200 |
| Last post | 2017-06-09 12:30 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v4 2/2] tty: add TIOCGPTPEER ioctl Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-09 11:30 +0200
Re: [PATCH v4 2/2] tty: add TIOCGPTPEER ioctl Aleksa Sarai <asarai@suse.de> - 2017-06-09 12:00 +0200
Re: [PATCH v4 2/2] tty: add TIOCGPTPEER ioctl Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-09 12:10 +0200
Re: [PATCH v4 2/2] tty: add TIOCGPTPEER ioctl Aleksa Sarai <asarai@suse.de> - 2017-06-09 12:30 +0200
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-06-09 11:30 +0200 |
| Subject | Re: [PATCH v4 2/2] tty: add TIOCGPTPEER ioctl |
| Message-ID | <tQooV-8bH-7@gated-at.bofh.it> |
On Sun, Jun 04, 2017 at 12:15:15AM +1000, Aleksa Sarai wrote: > When opening the slave end of a PTY, it is not possible for userspace to > safely ensure that /dev/pts/$num is actually a slave (in cases where the > mount namespace in which devpts was mounted is controlled by an > untrusted process). In addition, there are several unresolvable > race conditions if userspace were to attempt to detect attacks through > stat(2) and other similar methods [in addition it is not clear how > userspace could detect attacks involving FUSE]. > > Resolve this by providing an interface for userpace to safely open the > "peer" end of a PTY file descriptor by using the dentry cached by > devpts. Since it is not possible to have an open master PTY without > having its slave exposed in /dev/pts this interface is safe. This > interface currently does not provide a way to get the master pty (since > it is not clear whether such an interface is safe or even useful). > > Cc: Christian Brauner <christian.brauner@ubuntu.com> > Cc: Valentin Rothberg <vrothberg@suse.com> > Signed-off-by: Aleksa Sarai <asarai@suse.de> Is this going to be documented anywhere? Is there a man page update that also goes along with this? What userspace program wants to use this? I'm not objecting to this, I just want to know that people will use this, and that they can find out information about it if they want to. thanks, greg k-h
[toc] | [next] | [standalone]
| From | Aleksa Sarai <asarai@suse.de> |
|---|---|
| Date | 2017-06-09 12:00 +0200 |
| Message-ID | <tQoRY-8lF-11@gated-at.bofh.it> |
| In reply to | #1662171 |
>> When opening the slave end of a PTY, it is not possible for userspace to >> safely ensure that /dev/pts/$num is actually a slave (in cases where the >> mount namespace in which devpts was mounted is controlled by an >> untrusted process). In addition, there are several unresolvable >> race conditions if userspace were to attempt to detect attacks through >> stat(2) and other similar methods [in addition it is not clear how >> userspace could detect attacks involving FUSE]. >> >> Resolve this by providing an interface for userpace to safely open the >> "peer" end of a PTY file descriptor by using the dentry cached by >> devpts. Since it is not possible to have an open master PTY without >> having its slave exposed in /dev/pts this interface is safe. This >> interface currently does not provide a way to get the master pty (since >> it is not clear whether such an interface is safe or even useful). >> >> Cc: Christian Brauner <christian.brauner@ubuntu.com> >> Cc: Valentin Rothberg <vrothberg@suse.com> >> Signed-off-by: Aleksa Sarai <asarai@suse.de> > > Is this going to be documented anywhere? Is there a man page update > that also goes along with this? I will add one, I didn't know where the man-pages project is hosted / where patches get pushed? What is the ML? > What userspace program wants to use this? LXC (Christian is on Cc) will use this, runC will most likely use it, pending on some design discussions (as well as some future container runtimes I'm planning on working on). Effectively any container runtime that wants to safely create terminals and spawn containers inside an existing container's namespaces will likely want to use this. [ As an aside, I /would/ argue this is a security fix (it fixes an interface problem that made doing certain operations securely possible) but I didn't want to Cc stable@ because it's a feature and not a strict bugfix. ] -- Aleksa Sarai Software Engineer (Containers) SUSE Linux GmbH https://www.cyphar.com/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-06-09 12:10 +0200 |
| Message-ID | <tQp1F-dV-25@gated-at.bofh.it> |
| In reply to | #1662211 |
On Fri, Jun 09, 2017 at 07:50:43PM +1000, Aleksa Sarai wrote: > > > When opening the slave end of a PTY, it is not possible for userspace to > > > safely ensure that /dev/pts/$num is actually a slave (in cases where the > > > mount namespace in which devpts was mounted is controlled by an > > > untrusted process). In addition, there are several unresolvable > > > race conditions if userspace were to attempt to detect attacks through > > > stat(2) and other similar methods [in addition it is not clear how > > > userspace could detect attacks involving FUSE]. > > > > > > Resolve this by providing an interface for userpace to safely open the > > > "peer" end of a PTY file descriptor by using the dentry cached by > > > devpts. Since it is not possible to have an open master PTY without > > > having its slave exposed in /dev/pts this interface is safe. This > > > interface currently does not provide a way to get the master pty (since > > > it is not clear whether such an interface is safe or even useful). > > > > > > Cc: Christian Brauner <christian.brauner@ubuntu.com> > > > Cc: Valentin Rothberg <vrothberg@suse.com> > > > Signed-off-by: Aleksa Sarai <asarai@suse.de> > > > > Is this going to be documented anywhere? Is there a man page update > > that also goes along with this? > > I will add one, I didn't know where the man-pages project is hosted / where > patches get pushed? What is the ML? From the MAINTAINERS file: MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7 M: Michael Kerrisk <mtk.manpages@gmail.com> W: http://www.kernel.org/doc/man-pages L: linux-man@vger.kernel.org S: Maintained > > What userspace program wants to use this? > > LXC (Christian is on Cc) will use this, runC will most likely use it, > pending on some design discussions (as well as some future container > runtimes I'm planning on working on). Effectively any container runtime that > wants to safely create terminals and spawn containers inside an existing > container's namespaces will likely want to use this. > > [ As an aside, I /would/ argue this is a security fix (it fixes an interface > problem that made doing certain operations securely possible) but I didn't > want to Cc stable@ because it's a feature and not a strict bugfix. ] Yeah, it's a new feature, so stable doesn't really fit here. And as people who use containers are all keeping up to date with their kernel versions, this shouldn't be that big of a deal, not like the Android kernel mess :) thanks, greg k-h
[toc] | [prev] | [next] | [standalone]
| From | Aleksa Sarai <asarai@suse.de> |
|---|---|
| Date | 2017-06-09 12:30 +0200 |
| Message-ID | <tQpl0-k7-11@gated-at.bofh.it> |
| In reply to | #1662237 |
>>>> When opening the slave end of a PTY, it is not possible for userspace to >>>> safely ensure that /dev/pts/$num is actually a slave (in cases where the >>>> mount namespace in which devpts was mounted is controlled by an >>>> untrusted process). In addition, there are several unresolvable >>>> race conditions if userspace were to attempt to detect attacks through >>>> stat(2) and other similar methods [in addition it is not clear how >>>> userspace could detect attacks involving FUSE]. >>>> >>>> Resolve this by providing an interface for userpace to safely open the >>>> "peer" end of a PTY file descriptor by using the dentry cached by >>>> devpts. Since it is not possible to have an open master PTY without >>>> having its slave exposed in /dev/pts this interface is safe. This >>>> interface currently does not provide a way to get the master pty (since >>>> it is not clear whether such an interface is safe or even useful). >>>> >>>> Cc: Christian Brauner <christian.brauner@ubuntu.com> >>>> Cc: Valentin Rothberg <vrothberg@suse.com> >>>> Signed-off-by: Aleksa Sarai <asarai@suse.de> >>> >>> Is this going to be documented anywhere? Is there a man page update >>> that also goes along with this? >> >> I will add one, I didn't know where the man-pages project is hosted / where >> patches get pushed? What is the ML? > > From the MAINTAINERS file: > MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7 > M: Michael Kerrisk <mtk.manpages@gmail.com> > W: http://www.kernel.org/doc/man-pages > L: linux-man@vger.kernel.org > S: Maintained Ah, should've looked there first! Thanks Greg, I'll send it over the weekend. -- Aleksa Sarai Software Engineer (Containers) SUSE Linux GmbH https://www.cyphar.com/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web