oss-sec mailing list archives
Re: cve request: systemd-machined: information exposure for docker containers
From: Daniel J Walsh <dwalsh () redhat com>
Date: Thu, 28 Jul 2016 08:34:35 -0400
Actually this package oci-register-machine is called as a hook and could be used by runc, or as Jesse points out placed in /usr/libexec/oci/hooks.d/oci-register-machine, Red Hats patched version of docker will execute the hook and register with machinectl. This same behaviour happens with any container tool that registers with machinectl including systemd-nspawn, libvirt-lxc and maybe lxc tools. The question is whether or not this is information that should not be available to non privileged users on a system or not. The information is not available to processes inside of a container unless they can talk to systemd. Lennart is wrong when he states that this only effects "user" containers, any container that registers with machinectl, will have this information revealed to non privileged user processes. On 07/27/2016 04:49 PM, Jessica Frazelle wrote:
To be clear this is ONLY in Red Hat's fork of docker which is unsupported by Docker. There is no oci-register-machine in docker itself. On Wednesday, July 27, 2016, Jesse Hertz <jesse.hertz@nccgroup.trust> wrote:Just to chime in here, since a docker container would be inside its own PID namespace, running ‘ps’ inside a container would not show you other processes/containers running on the same host. A similar “vulnerability" I “found” was patched in Docker earlier (tl;dr '/proc/sched_debug’ is not pid namespace aware). -jhOn Jul 27, 2016, at 4:00 PM, Christian Rebischke <Chris.Rebischke () archlinux org <javascript:;>> wrote:On Wed, Jul 27, 2016 at 01:27:08PM -0400, Daniel J Walsh wrote:On 07/27/2016 01:05 PM, Christian Rebischke wrote:On Tue, Jul 26, 2016 at 03:24:13PM -0400, cve-assign () mitre org<javascript:;> wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256Once docker containers register themselves to systemd-machined by oci-register-machine. Any unprivileged user could run machinectl to list every single containers running in the host even if the containers do not belong to this user (includingcontainersbelong to the root user), and access sensitive information associated with any individual container including its internal IP address, OS version, running processes, and file path for its rootfs. $ machinectl status cc8d10c7b9892b75843d200d54d34a3a cc8d10c7b9892b75843d200d54d34a3a(63633864313063376239383932623735) Since: Mon 2016-07-25 17:55:36 UTC; 34s ago Leader: 43494 (sleep) Service: docker; class container Root:/var/mnt/overlay/overlay/0429684e3da515ae4f11b8514c7b20f759613Address: 172.17.0.2 fe80::42:acff:fe11:2 OS: Red Hat Enterprise Linux Server 7.2 (Maipo) Unit:docker-cc8d10c7b9892b75843d200d54d34a3a9435fe0f65527c254ebfd2d43494 sleep 3000Use CVE-2016-6349.Hello, I don't think that the bug for this problem lies in systemd. It's more a design mistake in docker or oci-register-machine. I have forwarded this issue to the systemd developer team and I don't think they will fix this in the future. In their opinion it's a bug in docker or oci-register-machine: https://github.com/systemd/systemd/issues/3815 by the way.. I would feel glad if the security researchers would first message the developers and then assign a CVE a bug. This is the normal way for a full disclosure. best regards, Christian RebischkeWhy is this a bug in oci-register-machine? All it is doing is calling the systemd-machine call to register with it using the three flags available. Is systemd saying we should not use that call?Let me quote Lennart Poettering: --- machined is a system service and is for registering containers running on the system. There's no concept of "user containers" with that, and unprivileged users do not have the privileges to even register any containers with machined. If you ask me the CVE is complete and utter rubbish. At least against systemd. If Docker knows a concept of user containers, then good for them, but in that case they shouldn't register them with machined really, if they are not supposed to be visible on the host. Generally though I think the CVE is without merit entirely, after all "ps" is generally unrestricted, and hence you can always see container processes running on the host anyway. --- In my opinion I would say you shouldn't use this call if you don't want an information leak. Even if systemd would fix the output of `machinectl status ..`. The information leak would still be there because you could still see informations about the container with `ps` or other tools. systemd is not designed for 'user containers'. If yo have further questions. I would say that you ask the systemd-developers on their mailing list directly.
Current thread:
- cve request: systemd-machined: information exposure for docker containers CAI Qian (Jul 26)
- Re: cve request: systemd-machined: information exposure for docker containers cve-assign (Jul 26)
- Re: Re: cve request: systemd-machined: information exposure for docker containers Christian Rebischke (Jul 27)
- Re: Re: cve request: systemd-machined: information exposure for docker containers Daniel J Walsh (Jul 27)
- Re: Re: cve request: systemd-machined: information exposure for docker containers Christian Rebischke (Jul 27)
- Re: cve request: systemd-machined: information exposure for docker containers Jesse Hertz (Jul 27)
- Re: cve request: systemd-machined: information exposure for docker containers Jessica Frazelle (Jul 27)
- Re: cve request: systemd-machined: information exposure for docker containers Daniel J Walsh (Jul 28)
- Re: cve request: systemd-machined: information exposure for docker containers Simon McVittie (Jul 28)
- Re: cve request: systemd-machined: information exposure for docker containers Daniel J Walsh (Jul 28)
- Re: cve request: systemd-machined: information exposure for docker containers Shiz (Aug 01)
- Re: cve request: systemd-machined: information exposure for docker containers Daniel J Walsh (Aug 03)
- Re: cve request: systemd-machined: information exposure for docker containers CAI Qian (Aug 10)
- Re: cve request: systemd-machined: information exposure for docker containers Daniel J Walsh (Aug 10)
- Re: Re: cve request: systemd-machined: information exposure for docker containers Christian Rebischke (Jul 27)
- Re: cve request: systemd-machined: information exposure for docker containers cve-assign (Jul 26)