CVE-2025-47290

5.9 MEDIUM

📋 TL;DR

A TOCTOU vulnerability in containerd v2.1.0 allows specially crafted container images to modify the host filesystem during image unpacking. Only containerd 2.1.0 is affected, impacting containerized environments using this specific version. This could lead to arbitrary file modification on the host system.

💻 Affected Systems

Products:
  • containerd
Versions: 2.1.0 only
Operating Systems: All platforms running containerd
Default Config Vulnerable: ⚠️ Yes
Notes: Only containerd v2.1.0 is affected. Earlier versions and later versions (including 2.1.1+) are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete host filesystem compromise allowing arbitrary file creation, modification, or deletion, potentially leading to full system takeover.

🟠

Likely Case

Unauthorized modification of host files, potentially enabling privilege escalation, data theft, or persistence mechanisms.

🟢

If Mitigated

Limited impact with proper image source controls and user permissions, potentially no exploitation if only trusted images are used.

🌐 Internet-Facing: MEDIUM - Exploitation requires pulling malicious images, which could happen from untrusted registries.
🏢 Internal Only: LOW - Risk is reduced if internal registries contain only vetted images and proper access controls are in place.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires creating and distributing specially crafted container images. Attacker needs ability to push images to a registry accessible to the target.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.1

Vendor Advisory: https://github.com/containerd/containerd/security/advisories/GHSA-cm76-qm8v-3j95

Restart Required: Yes

Instructions:

1. Stop all containers and container workloads. 2. Update containerd to version 2.1.1 using your package manager. 3. Restart containerd service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Restrict image sources

all

Only allow pulling images from trusted registries and enforce image signing/verification.

Configure containerd to use allowed registries only: containerd config default > /etc/containerd/config.toml
Edit config.toml to restrict registries under [plugins."io.containerd.grpc.v1.cri".registry]

Limit user permissions

linux

Restrict which users can import or pull images to trusted administrators only.

Use Linux capabilities or RBAC to restrict containerd access: setfacl -m u:trusteduser:rwx /var/run/containerd/containerd.sock

🧯 If You Can't Patch

  • Immediately implement strict image source controls allowing only verified, signed images from trusted registries.
  • Implement network segmentation to restrict container hosts from accessing untrusted image registries.

🔍 How to Verify

Check if Vulnerable:

Check containerd version: containerd --version. If output shows 2.1.0, system is vulnerable.

Check Version:

containerd --version

Verify Fix Applied:

After updating, run: containerd --version. Verify output shows 2.1.1 or later.

📡 Detection & Monitoring

Log Indicators:

  • Unusual image pull activity from untrusted sources
  • Containerd logs showing image unpacking errors or unexpected file operations

Network Indicators:

  • Image pulls from unknown or untrusted registries
  • Unusual outbound connections during image pull operations

SIEM Query:

source="containerd" AND ("pull" OR "unpack") AND (error OR failure OR suspicious)

🔗 References

📤 Share & Export