Security update for libcontainers-common

Announcement ID: SUSE-SU-2022:3312-1
Rating: moderate
References:
Cross-References:
CVSS scores:
  • CVE-2020-14370 ( SUSE ): 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
  • CVE-2020-14370 ( NVD ): 5.3 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
  • CVE-2020-15157 ( SUSE ): 6.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
  • CVE-2020-15157 ( NVD ): 6.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
  • CVE-2021-20199 ( SUSE ): 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
  • CVE-2021-20199 ( NVD ): 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
  • CVE-2021-20291 ( SUSE ): 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
  • CVE-2021-20291 ( NVD ): 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
  • CVE-2021-3602 ( SUSE ): 5.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
  • CVE-2021-3602 ( NVD ): 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Affected Products:
  • SUSE CaaS Platform 4.0
  • SUSE Enterprise Storage 6
  • SUSE Enterprise Storage 7
  • SUSE Linux Enterprise High Performance Computing 15 SP1
  • SUSE Linux Enterprise High Performance Computing 15 SP1 ESPOS 15-SP1
  • SUSE Linux Enterprise High Performance Computing 15 SP1 LTSS 15-SP1
  • SUSE Linux Enterprise High Performance Computing 15 SP2
  • SUSE Linux Enterprise High Performance Computing 15 SP2 ESPOS 15-SP2
  • SUSE Linux Enterprise High Performance Computing 15 SP2 LTSS 15-SP2
  • SUSE Linux Enterprise Server 15 SP1
  • SUSE Linux Enterprise Server 15 SP1 Business Critical Linux 15-SP1
  • SUSE Linux Enterprise Server 15 SP1 LTSS 15-SP1
  • SUSE Linux Enterprise Server 15 SP2
  • SUSE Linux Enterprise Server 15 SP2 Business Critical Linux 15-SP2
  • SUSE Linux Enterprise Server 15 SP2 LTSS 15-SP2
  • SUSE Linux Enterprise Server for SAP Applications 15 SP1
  • SUSE Linux Enterprise Server for SAP Applications 15 SP2
  • SUSE Manager Proxy 4.1
  • SUSE Manager Retail Branch Server 4.1
  • SUSE Manager Server 4.1

An update that solves five vulnerabilities and has one security fix can now be installed.

Description:

This update for libcontainers-common fixes the following issues:

libcontainers-common was updated:

  • common component was updated to 0.44.0.
  • storage component was updated to 1.36.0.
  • image component was updated to 5.16.0.
  • podman component was updated to 3.3.1.

3.3.1:

Bugfixes:

  • Fixed a bug where unit files created by podman generate systemd could not cleanup shut down containers when stopped by systemctl stop .
  • Fixed a bug where podman machine commands would not properly locate the gvproxy binary in some circumstances.
  • Fixed a bug where containers created as part of a pod using the --pod-id-file option would not join the pod's network namespace .
  • Fixed a bug where Podman, when using the systemd cgroups driver, could sometimes leak dbus sessions.
  • Fixed a bug where the until filter to podman logs and podman events was improperly handled, requiring input to be negated .
  • Fixed a bug where rootless containers using CNI networking run on systems using systemd-resolved for DNS would fail to start if resolved symlinked /etc/resolv.conf to an absolute path .

API:

  • A large number of potential file descriptor leaks from improperly closing client connections have been fixed.

3.3.0:

Features:

  • Containers inside VMs created by podman machine will now automatically handle port forwarding - containers in podman machine VMs that publish ports via --publish or --publish-all will have these ports not just forwarded on the VM, but also on the host system.
  • The podman play kube command's --network option now accepts advanced network options (e.g. --network slirp4netns:port_handler=slirp4netns) .
  • The podman play kube commmand now supports Kubernetes liveness probes, which will be created as Podman healthchecks.
  • Podman now provides a systemd unit, podman-restart.service, which, when enabled, will restart all containers that were started with --restart=always after the system reboots.
  • Rootless Podman can now be configured to use CNI networking by default by using the rootless_networking option in containers.conf.
  • Images can now be pulled using image:tag@digest syntax (e.g. podman pull fedora:34@sha256:1b0d4ddd99b1a8c8a80e885aafe6034c95f266da44ead992aab388e6aa91611a) .
  • The podman container checkpoint and podman container restore commands can now be used to checkpoint containers that are in pods, and restore those containers into pods.
  • The podman container restore command now features a new option, --publish, to change the ports that are forwarded to a container that is being restored from an exported checkpoint.
  • The podman container checkpoint command now features a new option, --compress, to specify the compression algorithm that will be used on the generated checkpoint.
  • The podman pull command can now pull multiple images at once (e.g. podman pull fedora:34 ubi8:latest will pull both specified images).
  • THe podman cp command can now copy files from one container into another directly (e.g. podman cp containera:/etc/hosts containerb:/etc/) .
  • The podman cp command now supports a new option, --archive, which controls whether copied files will be chown'd to the UID and GID of the user of the destination container.
  • The podman stats command now provides two additional metrics: Average CPU, and CPU time.
  • The podman pod create command supports a new flag, --pid, to specify the PID namespace of the pod. If specified, containers that join the pod will automatically share its PID namespace.
  • The podman pod create command supports a new flag, --infra-name, which allows the name of the pod's infra container to be set .
  • The podman auto-update command has had its output reformatted - it is now much clearer what images were pulled and what containers were updated.
  • The podman auto-update command now supports a new option, --dry-run, which reports what would be updated but does not actually perform the update .
  • The podman build command now supports a new option, --secret, to mount secrets into build containers.
  • The podman manifest remove command now has a new alias, podman manifest rm.
  • The podman login command now supports a new option, --verbose, to print detailed information about where the credentials entered were stored.
  • The podman events command now supports a new event, exec_died, which is produced when an exec session exits, and includes the exit code of the exec session.
  • The podman system connection add command now supports adding connections that connect using the tcp:// and unix:// URL schemes.
  • The podman system connection list command now supports a new flag, --format, to determine how the output is printed.
  • The podman volume prune and podman volume ls commands' --filter option now support a new filter, until, that matches volumes created before a certain time .
  • The podman ps --filter option's network filter now accepts a new value: container:, which matches containers that share a network namespace with a specific container .
  • The podman diff command can now accept two arguments, allowing two images or two containers to be specified; the diff between the two will be printed .
  • Podman can now optionally copy-up content from containers into volumes mounted into those containers earlier (at creation time, instead of at runtime) via the prepare_on_create option in containers.conf .
  • A new option, --gpus, has been added to podman create and podman run as a no-op for better compatibility with Docker. If the nvidia-container-runtime package is installed, GPUs should be automatically added to containers without using the flag.
  • If an invalid subcommand is provided, similar commands to try will now be suggested in the error message.

Changes

  • The podman system reset command now removes non-Podman (e.g. Buildah and CRI-O) containers as well.
  • The new port forwarding offered by podman machine requires [gvproxy] in order to function.
  • Podman will now automatically create the default CNI network if it does not exist, for both root and rootless users. This will only be done once per user - if the network is subsequently removed, it will not be recreated.
  • The install.cni makefile option has been removed. It is no longer required to distribute the default 87-podman.conflist CNI configuration file, as Podman will now automatically create it.
  • The --root option to Podman will not automatically clear all default storage options when set. Storage options can be set manually using --storage-opt .
  • The output of podman system connection list is now deterministic, with connections being sorted alpabetically by their name.
  • The auto-update service (podman-auto-update.service) has had its default timer adjusted so it now starts at a random time up to 15 minutes after midnight, to help prevent system congestion from numerous daily services run at once.
  • Systemd unit files generated by podman generate systemd now depend on network-online.target by default .
  • Systemd unit files generated by podman generate systemd now use Type=notify by default, instead of using PID files.
  • The podman info command's logic for detecting package versions on Gentoo has been improved, and should be significantly faster.

Bugfixes:

  • Fixed a bug where the podman play kube command did not perform SELinux relabelling of volumes specified with a mountPath that included the :z or :Z options .
  • Fixed a bug where the podman play kube command would ignore the USER and EXPOSE directives in images .
  • Fixed a bug where the podman play kube command would only accept lowercase pull policies.
  • Fixed a bug where named volumes mounted into containers with the :z or :Z options were not appropriately relabelled for access from the container .
  • Fixed a bug where the podman logs -f command, with the journald log driver, could sometimes fail to pick up the last line of output from a container .
  • Fixed a bug where running podman rm on a container created with the --rm option would occasionally emit an error message saying the container failed to be removed, when it was successfully removed.
  • Fixed a bug where starting a Podman container would segfault if the LISTEN_PID and LISTEN_FDS environment variables were set, but LISTEN_FDNAMES was not .
  • Fixed a bug where exec sessions in containers were sometimes not cleaned up when run without -d and when the associated podman exec process was killed before completion.
  • Fixed a bug where podman system service could, when run in a systemd unit file with sdnotify in use, drop some connections when it was starting up.
  • Fixed a bug where containers run using the REST API using the slirp4netns network mode would leave zombie processes that were not cleaned up until podman system service exited .
  • Fixed a bug where the podman system service command would leave zombie processes after its initial launch that were not cleaned up until it exited .
  • Fixed a bug where VMs created by podman machine could not be started after the host system restarted .
  • Fixed a bug where the podman pod ps command would not show headers for optional information (e.g. container names when the --ctr-names option was given).
  • Fixed a bug where the remote Podman client's podman create and podman run commands would ignore timezone configuration from the server's containers.conf file .
  • Fixed a bug where the remote Podman client's podman build command would only respect .containerignore and not .dockerignore files (when both are present, .containerignore will be preferred) .
  • Fixed a bug where the remote Podman client's podman build command would fail to send the Dockerfile being built to the server when it was excluded by the .dockerignore file, resulting in an error .
  • Fixed a bug where the remote Podman client's podman build command could unexpectedly stop streaming the output of the build .
  • Fixed a bug where the remote Podman client's podman build command would fail to build when run on Windows .
  • Fixed a bug where the podman manifest create command accepted at most two arguments (an arbitrary number of images are allowed as arguments, which will be added to the manifest).
  • Fixed a bug where named volumes would not be properly chowned to the UID and GID of the directory they were mounted over when first mounted into a container .
  • Fixed a bug where named volumes created using a volume plugin would be removed from Podman, even if the plugin reported a failure to remove the volume .
  • Fixed a bug where the remote Podman client's podman exec -i command would hang when input was provided via shell redirection (e.g. podman --remote exec -i foo cat <<<"hello") .
  • Fixed a bug where containers created with --rm were not immediately removed after being started by podman start if they failed to start .
  • Fixed a bug where the --storage-opt flag to podman create and podman run was nonfunctional .
  • Fixed a bug where the --device-cgroup-rule option to podman create and podman run was nonfunctional .
  • Fixed a bug where the --tls-verify option to podman manifest push was nonfunctional.
  • Fixed a bug where the podman import command could, in some circumstances, produce empty images .
  • Fixed a bug where images pulled using the docker-daemon: transport had the wrong registry (localhost instead of docker.io/library) .
  • Fixed a bug where operations that pruned images (podman image prune and podman system prune) would prune untagged images with children .
  • Fixed a bug where dual-stack networks created by podman network create did not properly auto-assign an IPv4 subnet when one was not explicitly specified .
  • Fixed a bug where port forwarding using the rootlessport port forwarder would break when a network was disconnected and then reconnected .
  • Fixed a bug where Podman would ignore user-specified SELinux policies for containers using the Kata OCI runtime, or containers using systemd as PID 1 .
  • Fixed a bug where Podman containers created using --net=host would add an entry to /etc/hosts for the container's hostname pointing to 127.0.1.1 .
  • Fixed a bug where the podman unpause --all command would throw an error for every container that was not paused .
  • Fixed a bug where timestamps for the since and until filters using Unix timestamps with a nanoseconds portion could not be parsed .
  • Fixed a bug where the podman info command would sometimes print the wrong path for the slirp4netns binary.
  • Fixed a bug where rootless Podman containers joined to a CNI network would not have functional DNS when the host used systemd-resolved without the resolved stub resolver being enabled .
  • Fixed a bug where podman network connect and podman network disconnect of rootless containers could sometimes break port forwarding to the container .
  • Fixed a bug where joining a container to a CNI network by ID and adding network aliases to this network would cause the container to fail to start .

API

  • Fixed a bug where the Compat List endpoint for Containers included healthcheck information for all containers, even those that did not have a configured healthcheck.
  • Fixed a bug where the Compat Create endpoint for Containers would fail to create containers with the NetworkMode parameter set to default .
  • Fixed a bug where the Compat Create endpoint for Containers did not properly handle healthcheck commands .
  • Fixed a bug where the Compat Wait endpoint for Containers would always send an empty string error message when no error occurred.
  • Fixed a bug where the Libpod Stats endpoint for Containers would not error when run on rootless containers on cgroups v1 systems (nonsensical results would be returned, as this configuration cannot be supportable).
  • Fixed a bug where the Compat List endpoint for Images omitted the ContainerConfig field .
  • Fixed a bug where the Compat Build endpoint for Images was too strict when validating the Content-Type header, rejecting content that Docker would have accepted .
  • Fixed a bug where the Compat Pull endpoint for Images could fail, but return a 200 status code, if an image name that could not be parsed was provided.
  • Fixed a bug where the Compat Pull endpoint for Images would continue to pull images after the client disconnected.
  • Fixed a bug where the Compat List endpoint for Networks would fail for non-bridge (e.g. macvlan) networks .
  • Fixed a bug where the Libpod List endpoint for Networks would return nil, instead of an empty list, when no networks were present .
  • The Compat and Libpod Logs endpoints for Containers now support the until query parameter .
  • The Compat Import endpoint for Images now supports the platform, message, and repo query parameters.
  • The Compat Pull endpoint for Images now supports the platform query parameter.

Misc:

  • Updated Buildah to v1.22.3
  • Updated the containers/storage library to v1.34.1
  • Updated the containers/image library to v5.15.2
  • Updated the containers/common library to v0.42.1

storage was updated to 1.36.0.

Updated image to 5.16.0.

Update podman to 3.2.3:

Security:

  • This release addresses CVE-2021-3602, an issue with the podman build command with the --isolation chroot flag that results in environment variables from the host leaking into build containers. (bsc#1188520)

Bugfixes:

  • Fixed a bug where events related to images could occur before the relevant operation had completed (e.g. an image pull event could be written before the pull was finished) .
  • Fixed a bug where podman save would refuse to save images with an architecture different from that of the host .
  • Fixed a bug where the podman import command did not correctly handle images without tags .
  • Fixed a bug where Podman's journald events backend would fail and prevent Podman from running when run on a host with systemd as PID1 but in an environment (e.g. a container) without systemd .
  • Fixed a bug where containers using rootless CNI networking would fail to start when the dnsname CNI plugin was in use and the host system's /etc/resolv.conf was a symlink ([#10855] and #10929).
  • Fixed a bug where containers using rootless CNI networking could fail to start due to a race in rootless CNI initialization .

Update podman to 3.2.2

3.2.2:

  • Podman's handling of the Architecture field of images has been relaxed. Since 3.2.0, Podman required that the architecture of the image match the architecture of the system to run containers based on an image, but images often incorrectly report architecture, causing Podman to reject valid images ([#10648] and #10682).
  • Podman no longer uses inotify to monitor for changes to CNI configurations. This removes potential issues where Podman cannot be run because a user has exhausted their available inotify sessions .

Bugfixes

  • Fixed a bug where the podman cp would, when given a directory as its source and a target that existed and was a file, copy the contents of the directory into the parent directory of the file; this now results in an error.
  • Fixed a bug where the podman logs command would, when following a running container's logs, not include the last line of output from the container when it exited when the k8s-file driver was in use .
  • Fixed a bug where Podman would fail to run containers if systemd-resolved was incorrectly detected as the system's DNS server .
  • Fixed a bug where the podman exec -t command would only resize the exec session's TTY after the session started, leading to a race condition where the terminal would initially not have a size set .
  • Fixed a bug where Podman containers using the slirp4netns network mode would add an incorrect entry to /etc/hosts pointing the container's hostname to the wrong IP address.
  • Fixed a bug where Podman would create volumes specified by images with incorrect permissions ([#10188] and #10606).
  • Fixed a bug where Podman would not respect the uid and gid options to podman volume create -o .
  • Fixed a bug where the podman run command could panic when parsing the system's cgroup configuration .
  • Fixed a bug where the remote Podman client's podman build -f - ... command did not read a Containerfile from STDIN .
  • Fixed a bug where the podman container restore --import command would fail to restore checkpoints created from privileged containers .
  • Fixed a bug where Podman was not respecting the TMPDIR environment variable when pulling images .
  • Fixed a bug where a number of Podman commands did not properly support using Go templates as an argument to the --format option.

API:

  • Fixed a bug where the Compat Inspect endpoint for Containers did not include information on container healthchecks .
  • Fixed a bug where the Libpod and Compat Build endpoints for Images did not properly handle the devices query parameter .

Misc:

  • Fixed a bug where the Makefile's make podman-remote-static target to build a statically-linked podman-remote binary was instead producing dynamic binaries .
  • Updated the containers/common library to v0.38.11

3.2.1:

Changes: - Podman now allows corrupt images (e.g. from restarting the system during an image pull) to be replaced by a podman pull of the same image (instead of requiring they be removed first, then re-pulled).

Bugfixes:

  • Fixed a bug where Podman would fail to start containers if a Seccomp profile was not available at /usr/share/containers/seccomp.json .
  • Fixed a bug where the podman machine start command failed on OS X machines with the AMD64 architecture and certain QEMU versions .
  • Fixed a bug where Podman would always use the slow path for joining the rootless user namespace.
  • Fixed a bug where the podman stats command would fail on Cgroups v1 systems when run on a container running systemd .
  • Fixed a bug where pre-checkpoint support for podman container checkpoint did not function correctly.
  • Fixed a bug where the remote Podman client's podman build command did not properly handle the -f option .
  • Fixed a bug where the remote Podman client's podman run command would sometimes not resize the container's terminal before execution began .
  • Fixed a bug where the --filter option to the podman image prune command was nonfunctional.
  • Fixed a bug where the podman logs -f command would exit before all output for a container was printed when the k8s-file log driver was in use .
  • Fixed a bug where Podman would not correctly detect that systemd-resolved was in use on the host and adjust DNS servers in the container appropriately under some circumstances .
  • Fixed a bug where the podman network connect and podman network disconnect commands acted improperly when containers were in the Created state, marking the changes as done but not actually performing them.

API:

  • Fixed a bug where the Compat and Libpod Prune endpoints for Networks returned null, instead of an empty array, when nothing was pruned.
  • Fixed a bug where the Create API for Images would continue to pull images even if a client closed the connection mid-pull .
  • Fixed a bug where the Events API did not include some information (including labels) when sending events.
  • Fixed a bug where the Events API would, when streaming was not requested, send at most one event .

3.2.0:

Features:

  • Docker Compose is now supported with rootless Podman .
  • The podman network connect, podman network disconnect, and podman network reload commands have been enabled for rootless Podman.
  • An experimental new set of commands, podman machine, was added to assist in managing virtual machines containing a Podman server. These are intended for easing the use of Podman on OS X by handling the creation of a Linux VM for running Podman.
  • The podman generate kube command can now be run on Podman named volumes (generating PersistentVolumeClaim YAML), in addition to pods and containers.
  • The podman play kube command now supports two new options, --ip and --mac, to set static IPs and MAC addresses for created pods ([#8442] and #9731).
  • The podman play kube command's support for PersistentVolumeClaim YAML has been greatly improved.
  • The podman generate kube command now preserves the label used by podman auto-update to identify containers to update as a Kubernetes annotation, and the podman play kube command will convert this annotation back into a label. This allows podman auto-update to be used with containers created by podman play kube.
  • The podman play kube command now supports Kubernetes secretRef YAML (using the secrets support from podman secret) for environment variables.
  • Secrets can now be added to containers as environment variables using the type=env option to the --secret flag to podman create and podman run.
  • The podman start command now supports the --all option, allowing all containers to be started simultaneously with a single command. The --filter option has also been added to filter which containers to start when --all is used.
  • Filtering containers with the --filter option to podman ps and podman start now supports a new filter, restart-policy, to filter containers based on their restart policy.
  • The --group-add option to rootless podman run and podman create now accepts a new value, keep-groups, which instructs Podman to retain the supplemental groups of the user running Podman in the created container. This is only supported with the crun OCI runtime.
  • The podman run and podman create commands now support a new option, --timeout. This sets a maximum time the container is allowed to run, after which it is killed .
  • The podman run and podman create commands now support a new option, --pidfile. This will create a file when the container is started containing the PID of the first process in the container.
  • The podman run and podman create commands now support a new option, --requires. The --requires option adds dependency containers - containers that must be running before the current container. Commands like podman start will automatically start the requirements of a container before starting the container itself.
  • Auto-updating containers can now be done with locally-built images, not just images hosted on a registry, by creating containers with the io.containers.autoupdate label set to local.
  • Podman now supports the [Container Device Interface] (CDI) standard.
  • Podman now adds an entry to /etc/hosts, host.containers.internal, pointing to the current gateway (which, for root containers, is usually a bridge interface on the host system) .
  • The podman ps, podman pod ps, podman network list, podman secret list, and podman volume list commands now support a --noheading option, which will cause Podman to omit the heading line including column names.
  • The podman unshare command now supports a new flag, --rootless-cni, to join the rootless network namespace. This allows commands to be run in the same network environment as rootless containers with CNI networking.
  • The --security-opt unmask= option to podman run and podman create now supports glob operations to unmask a group of paths at once (e.g. podman run --security-opt unmask=/proc/* ... will unmask all paths in /proc in the container).
  • The podman network prune command now supports a --filter option to filter which networks will be pruned.

Changes

  • The change in Podman 3.1.2 where the :z and :Z mount options for volumes were ignored for privileged containers has been reverted after discussion in [#10209].
  • Podman's rootless CNI functionality no longer requires a sidecar container! The removal of the requirement for the rootless-cni-infra container means that rootless CNI is now usable on all architectures, not just AMD64, and no longer requires pulling an image .
  • The Image handling code used by Podman has seen a major rewrite to improve code sharing with our other projects, Buildah and CRI-O. This should result in fewer bugs and performance gains in the long term. Work on this is still ongoing.
  • The podman auto-update command now prunes previous versions of images after updating if they are unused, to prevent disk exhaustion after repeated updates .
  • The podman play kube now treats environment variables configured as references to a ConfigMap as mandatory unless the optional parameter was set; this better matches the behavior of Kubernetes.
  • Podman now supports the --context=default flag from Docker as a no-op for compatibility purposes.
  • When Podman is run as root, but without CAP_SYS_ADMIN being available, it will run in a user namespace using the same code as rootless Podman (instead of failing outright).
  • The podman info command now includes the path of the Seccomp profile Podman is using, available cgroup controllers, and whether Podman is connected to a remote service or running containers locally.
  • Containers created with the --rm option now automatically use the volatile storage flag when available for their root filesystems, causing them not to write changes to disk as often as they will be removed at completion anyways. This should result in improved performance.
  • The podman generate systemd --new command will now include environment variables referenced by the container in generated unit files if the value would be looked up from the system environment.
  • Podman now requires that Conmon v2.0.24 be available.

Bugfixes:

  • Fixed a bug where the remote Podman client's podman build command did not support the --arch, --platform, and --os, options.
  • Fixed a bug where the remote Podman client's podman build command ignored the --rm=false option .
  • Fixed a bug where the remote Podman client's podman build --iidfile command could include extra output (in addition to just the image ID) in the image ID file written .
  • Fixed a bug where the remote Podman client's podman build command did not preserve hardlinks when moving files into the container via COPY instructions .
  • Fixed a bug where the podman generate systemd --new command could generate extra --iidfile arguments if the container was already created with one.
  • Fixed a bug where the podman generate systemd --new command would generate unit files that did not include RequiresMountsFor lines .
  • Fixed a bug where the podman generate kube command produced incorrect YAML for containers which bind-mounted both / and /root from the host system into the container .
  • Fixed a bug where pods created by podman play kube from YAML that specified ShareProcessNamespace would only share the PID namespace (and not also the UTS, Network, and IPC namespaces) .
  • Fixed a bug where the podman network reload command could generate spurious error messages when iptables-nft was in use.
  • Fixed a bug where rootless Podman could fail to attach to containers when the user running Podman had a large UID.
  • Fixed a bug where the podman ps command could fail with a no such container error due to a race condition with container removal .
  • Fixed a bug where containers using the slirp4netns network mode and setting a custom slirp4netns subnet while using the rootlesskit port forwarder would not be able to forward ports .
  • Fixed a bug where the --filter ancestor= option to podman ps did not require an exact match of the image name/ID to include a container in its results.
  • Fixed a bug where the --filter until= option to podman image prune would prune images created after the specified time (instead of before).
  • Fixed a bug where setting a custom Seccomp profile via the seccomp_profile option in containers.conf had no effect, and the default profile was used instead.
  • Fixed a bug where the --cgroup-parent option to podman create and podman run was ignored in rootless Podman on cgroups v2 systems with the cgroupfs cgroup manager .
  • Fixed a bug where the IMAGE and NAME variables in podman container runlabel were not being correctly substituted .
  • Fixed a bug where Podman could freeze when creating containers with a specific combination of volumes and working directory .
  • Fixed a bug where rootless Podman containers restarted by restart policy (e.g. containers created with --restart=always) would lose networking after being restarted .
  • Fixed a bug where the podman cp command could not copy files into containers created with the --pid=host flag .
  • Fixed a bug where filters to the podman events command could not be specified twice (if a filter is specified more than once, it will match if any of the given values match - logical or) .
  • Fixed a bug where Podman would include IPv6 nameservers in resolv.conf in containers without IPv6 connectivity .
  • Fixed a bug where containers could not be created with static IP addresses when connecting to a network using the macvlan driver .

API

  • Fixed a bug where the Compat Create endpoint for Containers did not allow advanced network options to be set .
  • Fixed a bug where the Compat Create endpoint for Containers ignored static IP information provided in the IPAMConfig block .
  • Fixed a bug where the Compat Inspect endpoint for Containers returned null (instead of an empty list) for Networks when the container was not joined to a CNI network .
  • Fixed a bug where the Compat Wait endpoint for Containers could miss containers exiting if they were immediately restarted.
  • Fixed a bug where the Compat Create endpoint for Volumes required that the user provide a name for the new volume .
  • Fixed a bug where the Libpod Info handler would sometimes not return the correct path to the Podman API socket.
  • Fixed a bug where the Compat Events handler used the wrong name for container exited events (died instead of die) .
  • Fixed a bug where the Compat Push endpoint for Images could leak goroutines if the remote end closed the connection prematurely.

Update storage to 1.32.5

Update podman to 3.1.2

3.1.2:

Bugfixes:

  • Fixed a bug where images with empty layers were stored incorrectly, causing them to be unable to be pushed or saved.
  • Fixed a bug where the podman rmi command could fail to remove corrupt images from storage.
  • Fixed a bug where the remote Podman client's podman save command did not support the oci-dir and docker-dir formats .
  • Fixed a bug where volume mounts from podman play kube created with a trailing / in the container path were were not properly superceding named volumes from the image .
  • Fixed a bug where Podman could fail to build on 32-bit architectures.

Update podman to 3.1.1

  • Podman now recognizes trace as a valid argument to the --log-level command. Trace logging is now the most verbose level of logging available.
  • The :z and :Z options for volume mounts are now ignored when the container is privileged or is run with SELinux isolation disabled (--security-opt label=disable). This matches better matches Docker's behavior in this case.

Bugfixes

  • Fixed a bug where pruning images with the podman image prune or podman system prune commands could cause Podman to panic.
  • Fixed a bug where the podman save command did not properly error when the --compress flag was used with incompatible format types.
  • Fixed a bug where the --security-opt and --ulimit options to the remote Podman client's podman build command were nonfunctional.
  • Fixed a bug where the --log-rusage option to the remote Podman client's podman build command was nonfunctional .
  • Fixed a bug where the podman build command could, in some circumstances, use the wrong OCI runtime .
  • Fixed a bug where the remote Podman client's podman build command could return 0 despite failing .
  • Fixed a bug where the podman container runlabel command did not properly expand the IMAGE and NAME variables in the label .
  • Fixed a bug where poststop OCI hooks would be executed twice on containers started with the --rm argument .
  • Fixed a bug where rootless Podman could fail to launch containers on cgroups v2 systems when the cgroupfs cgroup manager was in use.
  • Fixed a bug where the podman stats command could error when statistics tracked exceeded the maximum size of a 32-bit signed integer .
  • Fixed a bug where rootless Podman containers run with --userns=keepid (without a --user flag in addition) would grant exec sessions run in them too many capabilities .
  • Fixed a bug where the --authfile option to podman build did not validate that the path given existed .
  • Fixed a bug where the --storage-opt option to Podman was appending to, instead of overriding (as is documented), the default storage options.
  • Fixed a bug where the podman system service connection did not function properly when run in a socket-activated systemd unit file as a non-root user.
  • Fixed a bug where the --network option to the podman play kube command of the remote Podman client was being ignored .
  • Fixed a bug where the --log-driver option to the podman play kube command was nonfunctional .

API

  • Fixed a bug where the Libpod Create endpoint for Manifests did not properly validate the image the manifest was being created with.
  • Fixed a bug where the Libpod DF endpoint could, in error cases, append an extra null to the JSON response, causing decode errors.
  • Fixed a bug where the Libpod and Compat Top endpoint for Containers would return process names that included extra whitespace.
  • Fixed a bug where the Compat Prune endpoint for Containers accepted too many types of filter.

Update podman to 3.1.0

Features:

  • A set of new commands has been added to manage secrets! The podman secret create, podman secret inspect, podman secret ls and podman secret rm commands have been added to handle secrets, along with the --secret option to podman run and podman create to add secrets to containers. The initial driver for secrets does not support encryption - this will be added in a future release.
  • A new command to prune networks, podman network prune, has been added .
  • The -v option to podman run and podman create now supports a new volume option, :U, to chown the volume's source directory on the host to match the UID and GID of the container and prevent permissions issues .
  • Three new commands, podman network exists, podman volume exists, and podman manifest exists, have been added to check for the existence of networks, volumes, and manifest lists.
  • The podman cp command can now copy files into directories mounted as tmpfs in a running container.
  • The podman volume prune command will now list volumes that will be pruned when prompting the user whether to continue and perform the prune .
  • The Podman remote client's podman build command now supports the --disable-compression, --excludes, and --jobs options.
  • The Podman remote client's podman push command now supports the --format option.
  • The Podman remote client's podman rm command now supports the --all and --ignore options.
  • The Podman remote client's podman search command now supports the --no-trunc and --list-tags options.
  • The podman play kube command can now read in Kubernetes YAML from STDIN when - is specified as file name (podman play kube -), allowing input to be piped into the command for scripting .
  • The podman generate systemd command now supports a --no-header option, which disables creation of the header comment automatically added by Podman to generated unit files.
  • The podman generate kube command can now generate PersistentVolumeClaim YAML for Podman named volumes .
  • The podman generate kube command can now generate YAML files containing multiple resources (pods or deployments) .

Security:

  • This release resolves CVE-2021-20291, a deadlock vulnerability in the storage library caused by pulling a specially-crafted container image. (bsc#1196497)

Changes:

  • The Podman remote client's podman build command no longer allows the -v flag to be used. Volumes are not yet supported with remote Podman when the client and service are on different machines.
  • The podman kill and podman stop commands now print the name given by the user for each container, instead of the full ID.
  • When the --security-opt unmask=ALL or --security-opt unmask=/sys/fs/cgroup options to podman create or podman run are given, Podman will mount cgroups into the container as read-write, instead of read-only .
  • The podman rmi command has been changed to better handle cases where an image is incomplete or corrupted, which can be caused by interrupted image pulls.
  • The podman rename command has been improved to be more atomic, eliminating many race conditions that could potentially render a renamed container unusable.
  • Detection of which OCI runtimes run using virtual machines and thus require custom SELinux labelling has been improved .
  • The hidden --trace option to podman has been turned into a no-op. It was used in very early versions for performance tracing, but has not been supported for some time.
  • The podman generate systemd command now generates RequiresMountsFor lines to ensure necessary storage directories are mounted before systemd starts Podman.
  • Podman will now emit a warning when --tty and --interactive are both passed, but STDIN is not a TTY. This will be made into an error in the next major Podman release some time next year.

Bugfixes

  • Fixed a bug where rootless Podman containers joined to CNI networks could not receive traffic from forwarded ports .
  • Fixed a bug where podman network create with the --macvlan flag did not honor the --gateway, --subnet, and --opt options .
  • Fixed a bug where the podman generate kube command generated invalid YAML for privileged containers .
  • Fixed a bug where the podman generate kube command could not be used with containers that were not running.
  • Fixed a bug where the podman generate systemd command could duplicate some parameters to Podman in generated unit files .
  • Fixed a bug where Podman did not add annotations specified in containers.conf to containers.
  • Foxed a bug where Podman did not respect the no_hosts default in containers.conf when creating containers.
  • Fixed a bug where the --tail=0, --since, and --follow options to the podman logs command did not function properly when using the journald log backend.
  • Fixed a bug where specifying more than one container to podman logs when the journald log backend was in use did not function correctly.
  • Fixed a bug where the podman run and podman create commands would panic if a memory limit was set, but the swap limit was set to unlimited .
  • Fixed a bug where the --network option to podman run, podman create, and podman pod create would error if the user attempted to specify CNI networks by ID, instead of name .
  • Fixed a bug where Podman's cgroup handling for cgroups v1 systems did not properly handle cases where a cgroup existed on some, but not all, controllers, resulting in errors from the podman stats command .
  • Fixed a bug where the podman cp did not properly handle cases where /dev/stdout was specified as the destination (it was treated identically to -) .
  • Fixed a bug where the podman cp command would create files with incorrect ownership .
  • Fixed a bug where the podman cp command did not properly handle cases where the destination directory did not exist.
  • Fixed a bug where the podman cp command did not properly evaluate symlinks when copying out of containers.
  • Fixed a bug where the podman rm -fa command would error when attempting to remove containers created with --rm .
  • Fixed a bug where the ordering of capabilities was nondeterministic in the CapDrop field of the output of podman inspect on a container .
  • Fixed a bug where the podman network connect command could be used with containers that were not initially connected to a CNI bridge network (e.g. containers created with --net=host) .
  • Fixed a bug where DNS search domains required by the dnsname CNI plugin were not being added to container's resolv.conf under some circumstances.
  • Fixed a bug where the --ignorefile option to podman build was nonfunctional .
  • Fixed a bug where the --timestamp option to podman build was nonfunctional .
  • Fixed a bug where the --iidfile option to podman build could cause Podman to panic if an error occurred during the build.
  • Fixed a bug where the --dns-search option to podman build was nonfunctional .
  • Fixed a bug where the --pull-never option to podman build was nonfunctional .
  • Fixed a bug where the --build-arg option to podman build would, when given a key but not a value, error (instead of attempting to look up the key as an environment variable) .
  • Fixed a bug where the --isolation option to podman build in the remote Podman client was nonfunctional.
  • Fixed a bug where the podman network disconnect command could cause errors when the container that had a network removed was stopped and its network was cleaned up .
  • Fixed a bug where the podman network rm command did not properly check what networks a container was present in, resulting in unexpected behavior if podman network connect or podman network disconnect had been used with the network .
  • Fixed a bug where some errors with stopping a container could cause Podman to panic, and the container to be stuck in an unusable stopping state .
  • Fixed a bug where the podman load command could return 0 even in cases where an error occurred .
  • Fixed a bug where specifying storage options to Podman using the --storage-opt option would override all storage options. Instead, storage options are now overridden only when the --storage-driver option is used to override the current graph driver .
  • Fixed a bug where containers created with --privileged could request more capabilities than were available to Podman.
  • Fixed a bug where podman com