containerd is a container runtime. A bug was found in containerd versions prior to 1.4.8 and 1.5.4 where pulling and extracting a specially-crafted container image can result in Unix file permission changes for existing files in the host’s filesystem. Changes to file permissions can deny access to the expected owner of the file, widen access to others, or set extended bits like setuid, setgid, and sticky. This bug does not directly allow files to be read, modified, or executed without an additional cooperating process. This bug has been fixed in containerd 1.5.4 and 1.4.8. As a workaround, ensure that users only pull images from trusted sources. Linux security modules (LSMs) like SELinux and AppArmor can limit the files potentially affected by this bug through policies and profiles that prevent containerd from interacting with specific files.

Affected Package

OS OS Version Package Name Package Version
ubuntu 20.04 containerd 1.5.2-0ubuntu1~20.04.2
ubuntu 20.10 containerd 1.5.2-0ubuntu1~20.10.2
ubuntu 21.04 containerd 1.5.2-0ubuntu1~21.04.2
ubuntu 21.10 containerd 1.5.2-0ubuntu2
ubuntu 22.04 containerd 1.5.2-0ubuntu2
ubuntu upstream containerd 1.4.8,1.5.4
ubuntu 16.04 containerd 1.2.6-0ubuntu1~16.04.6+esm2