CVE-2022-23648

7.5 HIGH

📋 TL;DR

This vulnerability in containerd allows containers with specially-crafted image configurations to access read-only copies of arbitrary host files and directories. It bypasses container security policies and can expose sensitive information. Affected users include anyone running vulnerable containerd versions through CRI implementations in Kubernetes or crictl.

💻 Affected Systems

Products:
  • containerd
  • Kubernetes (when using containerd CRI)
  • crictl (when using containerd CRI)
Versions: containerd versions prior to 1.6.1, 1.5.10, and 1.4.12
Operating Systems: Linux, Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects containers launched through containerd's CRI implementation. Direct containerd usage without CRI is not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain read access to sensitive host files like SSH keys, Kubernetes secrets, configuration files, and credentials, leading to lateral movement and privilege escalation.

🟠

Likely Case

Unauthorized access to container host files containing application secrets, configuration data, or other sensitive information.

🟢

If Mitigated

Limited impact if strict network policies, minimal host mounts, and proper container isolation are already implemented.

🌐 Internet-Facing: MEDIUM - Requires container execution capability, but internet-facing container platforms could be targeted.
🏢 Internal Only: HIGH - Internal attackers or compromised containers can exploit this to access host files and escalate privileges.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires ability to create or modify container images. Public proof-of-concept exists in Packet Storm Security reference.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: containerd 1.6.1, 1.5.10, or 1.4.12

Vendor Advisory: https://github.com/containerd/containerd/security/advisories/GHSA-5ffw-gxpp-mxpf

Restart Required: Yes

Instructions:

1. Identify containerd version: 'containerd --version'. 2. Stop containerd service: 'systemctl stop containerd'. 3. Update containerd using package manager: 'apt-get update && apt-get install containerd' or 'yum update containerd'. 4. Verify new version: 'containerd --version'. 5. Restart containerd: 'systemctl start containerd'. 6. Restart dependent services like kubelet if using Kubernetes.

🔧 Temporary Workarounds

Restrict Image Sources

all

Only allow container images from trusted registries with image signing and verification.

Configure containerd to use allowed registries only
Implement image signature verification with cosign or similar

Implement Pod Security Standards

linux

Use Kubernetes Pod Security Standards to restrict privileged containers and host path mounts.

kubectl label namespace <namespace> pod-security.kubernetes.io/enforce=restricted
Apply PodSecurityPolicy or Pod Security Admission controller

🧯 If You Can't Patch

  • Implement strict network policies to limit container communication and prevent lateral movement
  • Use read-only root filesystems for containers and minimize host path mounts

🔍 How to Verify

Check if Vulnerable:

Check containerd version: 'containerd --version | grep -E "1\.(4\.(0-11)|5\.(0-9)|6\.0)"'. If version matches, system is vulnerable.

Check Version:

containerd --version

Verify Fix Applied:

Verify containerd version is 1.6.1, 1.5.10, or 1.4.12+: 'containerd --version' should show patched version.

📡 Detection & Monitoring

Log Indicators:

  • Unusual container image pulls from untrusted sources
  • Containerd logs showing volume mount operations with suspicious paths
  • Kubernetes audit logs showing pod creation with custom image configurations

Network Indicators:

  • Containers making unexpected outbound connections after startup
  • Traffic to external registries for unknown images

SIEM Query:

source="containerd" AND "volume" AND ("mount" OR "image") | search path="*" | where path contains sensitive directories like "/etc", "/root", "/var/run/secrets"

🔗 References

📤 Share & Export