SUSE-SU-2019:2223-1: moderate: Security update for podman, slirp4netns and libcontainers-common

sle-updates at lists.suse.com sle-updates at lists.suse.com
Tue Aug 27 13:10:46 MDT 2019


   SUSE Security Update: Security update for podman, slirp4netns and libcontainers-common
______________________________________________________________________________

Announcement ID:    SUSE-SU-2019:2223-1
Rating:             moderate
References:         #1096726 #1123156 #1123387 #1135460 #1136974 
                    #1137860 #1143386 
Cross-References:   CVE-2018-15664 CVE-2019-10152 CVE-2019-6778
                   
Affected Products:
                    SUSE Linux Enterprise Module for Containers 15-SP1
                    SUSE Linux Enterprise Module for Basesystem 15-SP1
______________________________________________________________________________

   An update that solves three vulnerabilities and has four
   fixes is now available.

Description:



   This is a version update for podman to version 1.4.4 (bsc#1143386).

   Additional changes by SUSE on top:

   - Remove fuse-overlayfs because it's (currently) an unsatisfied dependency
     on SLE (bsc#1143386)
   - Update libpod.conf to use correct infra_command
   - Update libpod.conf to use better versioned pause container
   - Update libpod.conf to use official kubic pause container
   - Update libpod.conf to match latest features set: detach_keys, lock_type,
     runtime_supports_json
   - Add podman-remote varlink client

   Version update podman to v1.4.4:

   - Features

     - Podman now has greatly improved support for containers using multiple
       OCI runtimes. Containers now remember if they were created with a
       different runtime using --runtime and will always use that runtime
     - The cached and delegated options for volume mounts are now allowed for
       Docker compatability (#3340)
     - The podman diff command now supports the --latest flag

   - Bugfixes

     - Fixed a bug where rootless Podman would attempt to use the entire root
       configuration if no rootless configuration was present for the user,
       breaking rootless Podman for new installations
     - Fixed a bug where rootless Podman's pause process would block SIGTERM,
       preventing graceful system shutdown and hanging until the system's
       init send SIGKILL
     - Fixed a bug where running Podman as root with sudo -E would not work
       after running rootless Podman at least once
     - Fixed a bug where options for tmpfs volumes added with the --tmpfs
       flag were being ignored
     - Fixed a bug where images with no layers could not properly be
       displayed and removed by Podman
     - Fixed a bug where locks were not properly freed on failure to create a
       container or pod
     - Fixed a bug where podman cp on a single file would create a directory
       at the target and place the file in it (#3384)
     - Fixed a bug where podman inspect --format '{{.Mounts}}' would print a
       hexadecimal address instead of a container's mounts
     - Fixed a bug where rootless Podman would not add an entry to
       container's /etc/hosts files for their own hostname (#3405)
     - Fixed a bug where podman ps --sync would segfault (#3411)
     - Fixed a bug where podman generate kube would produce an invalid ports
       configuration (#3408)

   - Misc

     - Updated containers/storage to v1.12.13
     - Podman now performs much better on systems with heavy I/O load
     - The --cgroup-manager flag to podman now shows the correct default
       setting in help if the default was overridden by libpod.conf
     - For backwards compatability, setting --log-driver=json-file in podman
       run is now supported as an alias for --log-driver=k8s-file. This is
       considered deprecated, and json-file will be moved to a new
       implementation in the future
       ([#3363](https://github.com/containers/libpo\ d/issues/3363))
     - Podman's default libpod.conf file now allows the crun OCI runtime to
       be used if it is installed

   Update podman to v1.4.2:

   - Fixed a bug where Podman could not run containers using an older version
     of Systemd as init
   - Updated vendored Buildah to v1.9.0 to resolve a critical bug with
     Dockerfile RUN instructions
   - The error message for running podman kill on containers that are not
     running has been improved
   - Podman remote client can now log to a file if syslog is not available
   - The podman exec command now sets its error code differently based on
     whether the container does not exist, and the command in the container
     does not exist
   - The podman inspect command on containers now outputs Mounts JSON that
     matches that of docker inspect, only including user-specified volumes
     and differentiating bind mounts and named volumes
   - The podman inspect command now reports the path to a container's OCI
     spec with the OCIConfigPath key (only included when the container is
     initialized
     or running)
   - The podman run --mount command now supports the bind-nonrecursive option
     for bind mounts
   - Fixed a bug where podman play kube would fail to create containers due
     to an unspecified log driver
   - Fixed a bug where Podman would fail to build with musl libc
   - Fixed a bug where rootless Podman using slirp4netns networking in an
     environment with no nameservers on the host other than localhost would
     result in nonfunctional networking
   - Fixed a bug where podman import would not properly set environment
     variables, discarding their values and retaining only keys
   - Fixed a bug where Podman would fail to run when built with Apparmor
     support but run on systems without the Apparmor kernel module loaded
   - Remote Podman will now default the username it uses to log in to remote
     systems to the username of the current user
   - Podman now uses JSON logging with OCI runtimes that support it, allowing
     for better error reporting
   - Updated vendored containers/image to v2.0
   - Update conmon to v0.3.0
   - Support OOM Monitor under cgroup V2
   - Add config binary and make target for configuring conmon with a go
     library for importing values

   Updated podman to version 1.4.0 (bsc#1137860) and (bsc#1135460)

   - Podman checkpoint and podman restore commands can now be used to migrate
     containers between Podman installations on different systems.
   - The podman cp now supports pause flag.
   - The remote client now supports a configuration file for pre-configuring
     connections to remote Podman installations
   - CVE-2019-10152: Fixed an iproper dereference of symlinks of the the
     podman cp command which introduced in version 1.1.0 (bsc#1136974).
   - Fixed a bug where podman commit could improperly set environment
     variables that contained = characters
   - Fixed a bug where rootless podman would sometimes fail to start
     containers with forwarded ports
   - Fixed a bug where podman version on the remote client could segfault
   - Fixed a bug where podman container runlabel would use /proc/self/exe
     instead of the path of the Podman command when printing the command
     being executed
   - Fixed a bug where filtering images by label did not work
   - Fixed a bug where specifying a bing mount or tmpfs mount over an image
     volume would cause a container to be unable to start
   - Fixed a bug where podman generate kube did not work with containers with
     named volumes
   - Fixed a bug where rootless podman would receive permission denied errors
     accessing conmon.pid
   - Fixed a bug where podman cp with a folder specified as target would
     replace the folder, as opposed to copying into it
   - Fixed a bug where rootless Podman commands could double-unlock a lock,
     causing a crash
   - Fixed a bug where podman incorrectly set tmpcopyup on /dev/ mounts,
     causing errors when using the Kata containers runtime
   - Fixed a bug where podman exec would fail on older kernels
   - Podman commit command is now usable with the Podman remote client
   - Signature-policy flag has been deprecated
   - Updated vendored containers/storage and containers/image libraries with
     numerous bugfixes
   - Updated vendored Buildah to v1.8.3
   - Podman now requires Conmon v0.2.0
   - The podman cp command is now aliased as podman container cp
   - Rootless podman will now default init_path using root Podman's
     configuration files (/etc/containers/libpod.conf and
     /usr/share/containers/libpod.conf) if not overridden in the rootless
     configuration
   - Added fuse-overlayfs dependency to support overlay based rootless image
     manipulations
   - The podman cp command can now read input redirected to STDIN, and output
     to STDOUT instead of a file, using - instead of an argument.
   - The podman remote client now displays version information from both the
     client and server in podman version
   - The podman unshare command has been added, allowing easy entry into the
     user namespace set up by rootless Podman (allowing the removal of files
     created by rootless podman, among other things)
   - Fixed a bug where Podman containers with the --rm flag were removing
     created volumes when they were automatically removed
   - Fixed a bug where container and pod locks were incorrectly marked as
     released after a system reboot, causing errors on container and pod
     removal
   - Fixed a bug where Podman pods could not be removed if any container in
     the pod encountered an error during removal
   - Fixed a bug where Podman pods run with the cgroupfs CGroup driver would
     encounter a race condition during removal, potentially failing to remove
     the pod CGroup
   - Fixed a bug where the podman container checkpoint and podman container
     restore commands were not visible in the remote client
   - Fixed a bug where podman remote ps --ns would not print the container's
     namespaces
   - Fixed a bug where removing stopped containers with healthchecks could
     cause an error
   - Fixed a bug where the default libpod.conf file was causing parsing errors
   - Fixed a bug where pod locks were not being freed when pods were removed,
     potentially leading to lock exhaustion
   - Fixed a bug where 'podman run' with SD_NOTIFY set could, on
     short-running containers, create an inconsistent state rendering the
     container unusable
   - The remote Podman client now uses the Varlink bridge to establish remote
     connections by default
   - Fixed an issue with apparmor_parser (bsc#1123387)

   - Update to libpod v1.4.0 (bsc#1137860):
   - The podman checkpoint and podman restore commands can now be used to
     migrate containers between Podman installations on different systems
   - The podman cp command now supports a pause flag to pause containers
     while copying into them
   - The remote client now supports a configuration file for pre-configuring
     connections to remote Podman installations
   - Fixed CVE-2019-10152 - The podman cp command improperly dereferenced
     symlinks in host context
   - Fixed a bug where podman commit could improperly set environment
     variables that contained = characters
   - Fixed a bug where rootless Podman would sometimes fail to start
     containers with forwarded ports
   - Fixed a bug where podman version on the remote client could segfault
   - Fixed a bug where podman container runlabel would use /proc/self/exe
     instead of the path of the Podman command when printing the command
     being executed
   - Fixed a bug where filtering images by label did not work
   - Fixed a bug where specifying a bing mount or tmpfs mount over an image
     volume would cause a container to be unable to start
   - Fixed a bug where podman generate kube did not work with containers with
     named volumes
   - Fixed a bug where rootless Podman would receive permission denied errors
     accessing conmon.pid
   - Fixed a bug where podman cp with a folder specified as target would
     replace the folder, as opposed to copying into it
   - Fixed a bug where rootless Podman commands could double-unlock a lock,
     causing a crash
   - Fixed a bug where Podman incorrectly set tmpcopyup on /dev/ mounts,
     causing errors when using the Kata containers runtime
   - Fixed a bug where podman exec would fail on older kernels
   - The podman commit command is now usable with the Podman remote client
   - The --signature-policy flag (used with several image-related commands)
     has been deprecated
   - The podman unshare command now defines two environment variables in the
     spawned shell: CONTAINERS_RUNROOT and CONTAINERS_GRAPHROOT, pointing to
     temporary and permanent storage for rootless containers
   - Updated vendored containers/storage and containers/image libraries with
     numerous bugfixes
   - Updated vendored Buildah to v1.8.3
   - Podman now requires Conmon v0.2.0
   - The podman cp command is now aliased as podman container cp
   - Rootless Podman will now default init_path using root Podman's
     configuration files (/etc/containers/libpod.conf and
     /usr/share/containers/libpod.conf) if not overridden in the rootless
     configuration

   - Update to image v1.5.1
   - Vendor in latest containers/storage
   - docker/docker_client: Drop redundant Domain(ref.ref) call
   - pkg/blobinfocache: Split implementations into subpackages
   - copy: progress bar: show messages on completion
   - docs: rename manpages to *.5.command
   - add container-certs.d.md manpage
   - pkg/docker/config: Bring auth tests from docker/docker_client_test
   - Don't allocate a sync.Mutex separately

   Update to storage v1.12.10:

   - Add function to parse out mount options from graphdriver
   - Merge the disparate parts of all of the Unix-like lockfiles
   - Fix unix-but-not-Linux compilation
   - Return XDG_RUNTIME_DIR as RootlessRuntimeDir if set
   - Cherry-pick moby/moby #39292 for CVE-2018-15664 fixes
   - lockfile: add RecursiveLock() API
   - Update generated files
   - Fix crash on tesing of aufs code
   - Let consumers know when Layers and Images came from read-only stores
   - chown: do not change owner for the mountpoint
   - locks: correctly mark updates to the layers list
   - CreateContainer: don't worry about mapping layers unless necessary
   - docs: fix manpage for containers-storage.conf
   - docs: sort configuration options alphabetically
   - docs: document OSTree file deduplication
   - Add missing options to man page for containers-storage
   - overlay: use the layer idmapping if present
   - vfs: prefer layer custom idmappings
   - layers: propagate down the idmapping settings
   - Recreate symlink when not found
   - docs: fix manpage for configuration file
   - docs: add special handling for manpages in sect 5
   - overlay: fix single-lower test
   - Recreate symlink when not found
   - overlay: propagate errors from mountProgram
   - utils: root in a userns uses global conf file
   - Fix handling of additional stores
   - Correctly check permissions on rootless directory
   - Fix possible integer overflow on 32bit builds
   - Evaluate device path for lvm
   - lockfile test: make concurrent RW test determinisitc
   - lockfile test: make concurrent read tests deterministic
   - drivers.DirCopy: fix filemode detection
   - storage: move the logic to detect rootless into utils.go
   - Don't set (struct flock).l_pid
   - Improve documentation of getLockfile
   - Rename getLockFile to createLockerForPath, and document it
   - Add FILES section to containers-storage.5 man page
   - add digest locks
   - drivers/copy: add a non-cgo fallback

   slirp4netns was updated to 0.3.0:

   - CVE-2019-6778: Fixed a heap buffer overflow in tcp_emu() (bsc#1123156)

   This update also includes:

   - fuse3 and fuse-overlayfs to support rootless containers.


Patch Instructions:

   To install this SUSE Security Update use the SUSE recommended installation methods
   like YaST online_update or "zypper patch".

   Alternatively you can run the command listed for your product:

   - SUSE Linux Enterprise Module for Containers 15-SP1:

      zypper in -t patch SUSE-SLE-Module-Containers-15-SP1-2019-2223=1

   - SUSE Linux Enterprise Module for Basesystem 15-SP1:

      zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP1-2019-2223=1



Package List:

   - SUSE Linux Enterprise Module for Containers 15-SP1 (aarch64 ppc64le s390x x86_64):

      fuse-overlayfs-0.4.1-3.3.8
      fuse-overlayfs-debuginfo-0.4.1-3.3.8
      fuse-overlayfs-debugsource-0.4.1-3.3.8
      fuse3-3.6.1-3.3.8
      fuse3-debuginfo-3.6.1-3.3.8
      fuse3-debugsource-3.6.1-3.3.8
      libfuse3-3-3.6.1-3.3.8
      libfuse3-3-debuginfo-3.6.1-3.3.8
      podman-1.4.4-4.8.1
      slirp4netns-0.3.0-3.3.3
      slirp4netns-debuginfo-0.3.0-3.3.3
      slirp4netns-debugsource-0.3.0-3.3.3

   - SUSE Linux Enterprise Module for Containers 15-SP1 (noarch):

      podman-cni-config-1.4.4-4.8.1

   - SUSE Linux Enterprise Module for Basesystem 15-SP1 (noarch):

      libcontainers-common-20190401-3.3.5


References:

   https://www.suse.com/security/cve/CVE-2018-15664.html
   https://www.suse.com/security/cve/CVE-2019-10152.html
   https://www.suse.com/security/cve/CVE-2019-6778.html
   https://bugzilla.suse.com/1096726
   https://bugzilla.suse.com/1123156
   https://bugzilla.suse.com/1123387
   https://bugzilla.suse.com/1135460
   https://bugzilla.suse.com/1136974
   https://bugzilla.suse.com/1137860
   https://bugzilla.suse.com/1143386



More information about the sle-updates mailing list