An overly broad default permission vulnerability was found in containerd.
/var/lib/containerd was created with the permission bits 0o711, while it should be created with 0o700
/run/containerd/io.containerd.grpc.v1.cri was created with 0o755, while it should be created with 0o700
/run/containerd/io.containerd.sandbox.controller.v1.shim was created with 0o711, while it should be created with 0o700The directory paths may differ depending on the daemon configuration.
When the temp directory path is specified in the daemon configuration, that directory was also created with 0o711, while it should be created with 0o700.
This bug has been fixed in the following containerd versions:
Users should update to these versions to resolve the issue. These updates automatically change the permissions of the existing directories.
[!NOTE]
/run/containerdand/run/containerd/io.containerd.runtime.v2.taskare still created with 0o711. This is an expected behavior for supporting userns-remapped containers.
The system administrator on the host can manually chmod the directories to not have group or world accessible permisisons:
chmod 700 /var/lib/containerd
chmod 700 /run/containerd/io.containerd.grpc.v1.cri
chmod 700 /run/containerd/io.containerd.sandbox.controller.v1.shim
An alternative mitigation would be to run containerd in rootless mode.
The containerd project would like to thank David Leadbeater for responsibly disclosing this issue in accordance with the containerd security policy.
If you have any questions or comments about this advisory:
To report a security issue in containerd:
{
"severity": "HIGH",
"cwe_ids": [
"CWE-279"
],
"github_reviewed_at": "2025-11-06T15:12:08Z",
"nvd_published_at": "2025-11-06T19:15:40Z",
"github_reviewed": true
}