Skip to main content

containerd CVE-2026-50195

| EUVDEUVD-2026-41108 MEDIUM
Insufficient Verification of Data Authenticity (CWE-345)
5.6
CVSS 4.0 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain pod-creation RBAC permissions
  2. Delivery
    Craft malicious OCI checkpoint image with forged image references
  3. Exploit
    Submit pod triggering CRI checkpoint import
  4. Execution
    containerd pulls malicious image and assigns attacker-chosen local tag
  5. Persist
    Victim pod schedules to poisoned node with IfNotPresent or Never pull policy
  6. Impact
    Victim pod executes malicious image under its own Kubernetes service account identity

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

The attacker must hold Kubernetes RBAC permissions sufficient to create pods in at least one namespace on the target cluster - specifically the ability to invoke the CRI checkpoint import path (e.g., via the kubelet checkpoint API or equivalent). The node must have containerd's checkpoint/restore feature accessible; environments that do not use or expose checkpoint functionality are not exposed to the poisoning step. Code execution on victim pods requires that those pods are (a) scheduled to the same node where poisoning occurred, and (b) configured with an IfNotPresent or Never image pull policy for the affected tag - pods using Always pull policy will fetch the real image from the upstream registry and are not affected. The attack does not require cluster-admin or node-level OS access to initiate, but the impact of successful exploitation is bounded by the victim pod's own Kubernetes identity and mounted credentials.

Impact

No CVSS vector or EPSS score is present in the provided data, so quantitative risk metrics cannot be cited - severity is vendor-stated as Critical via GHSA-cvxm-645q-p574. The attack prerequisite of pod-creation RBAC permission is a meaningful but not uncommon privilege in shared or multi-tenant Kubernetes clusters, making this a realistic insider or compromised-account threat vector. The attack is two-stage: poisoning requires the attacker to import a crafted checkpoint, while code execution requires a victim pod to start on the same node with an IfNotPresent or Never pull policy using the poisoned tag - this sequential dependency introduces operational complexity and limits opportunistic mass exploitation. The no-public-exploit and no-KEV status further modulates urgency. However, in environments where untrusted tenants hold pod-creation rights and checkpoint/restore is in use, the impact is severe: arbitrary code execution under a victim workload's identity, with access to its secrets, service account tokens, and downstream API access. This is a genuine priority for multi-tenant Kubernetes operators, but lower urgency for single-tenant or tightly RBAC-controlled environments.

Exploit ScenarioDerived

An attacker with Kubernetes pod-creation RBAC permissions on a target namespace builds a malicious OCI checkpoint image that embeds forged image reference strings pointing to attacker-controlled registry content. They submit a pod spec that triggers containerd's CRI checkpoint import path, causing containerd to fetch the malicious image and register it locally under a tag matching a legitimate image expected by other workloads on the same node. When a subsequent victim pod is scheduled to that node and its image resolver finds the poisoned tag via IfNotPresent or Never pull policy, it launches the attacker's payload under the victim pod's service account identity - granting access to its mounted secrets, tokens, and any downstream APIs the victim was authorized to reach. No public proof-of-concept code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 19, 2026

Checkpoint image poisoning in containerd's CRI implementation allows an attacker with pod-creation permissions to corrupt the node-local image cache, causing victim pods to silently execute malicious images in place of legitimate ones. The root cause is missing validation of image references embedded in checkpoint image configurations: containerd trusts attacker-controlled strings in the checkpoint archive to drive image pulls and local tag assignment. Subsequent pods using an IfNotPresent or Never pull policy then inherit the poisoned tag and execute arbitrary code under the victim pod's Kubernetes identity. No active exploitation has been confirmed (not in CISA KEV), and no public exploit code has been identified at time of analysis; vendor-released patches are available.

RemediationAI

Update containerd to a patched release: 2.3.2, 2.2.5, or 2.1.9, available at https://github.com/containerd/containerd/releases. These are vendor-confirmed fix versions per the official advisory at https://github.com/containerd/containerd/security/advisories/GHSA-cvxm-645q-p574. Where immediate patching is not feasible, apply the following layered compensating controls: (1) Restrict pod-creation RBAC permissions to trusted principals only - this eliminates the attacker's entry point, though it may disrupt developer self-service workflows; (2) Enforce an Always image pull policy cluster-wide via an admission webhook (OPA/Gatekeeper or Kyverno) - this breaks the exploitation chain at the victim-pod stage by bypassing the poisoned local cache, though it increases registry traffic and introduces registry availability as a dependency for pod startup; (3) Disable or block the checkpoint/restore feature via admission control if it is not operationally required - this eliminates the poisoning vector entirely but will impact workloads relying on container migration or stateful restart. None of these controls substitute for patching.

Affected VersionsENISA

containerd 2.3.0, < 2.3.2
containerd 2.2.0, < 2.2.5
containerd 2.1.0, < 2.1.9

Affected Packages

go github.com/containerd/containerd no fix
go github.com/containerd/containerd/v2 fix: 2.1.9, 2.2.5, 2.3.2
euvd containerd_2_1_0 fix: 2.1.9
euvd containerd_2_2_0 fix: 2.2.5
euvd containerd_2_3_0 fix: 2.3.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 5 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is in containerd's CRI (Container Runtime Interface) plugin, specifically in the checkpoint/restore workflow - a feature derived from CRIU (Checkpoint/Restore In Userspace) that packages container state as OCI image artifacts for migration or restart. During checkpoint import, containerd parses image reference strings embedded in the checkpoint archive's configuration to determine which images to pull and how to tag them locally. Because these strings originate from the checkpoint image itself (attacker-controlled input) and are not validated against registry authorization policies or naming constraints, the runtime blindly executes pulls and local tag assignments directed by the malicious archive. No CWE is formally assigned in the available data; the root cause class corresponds to CWE-20 (Improper Input Validation) or CWE-345 (Insufficient Verification of Data Authenticity). No CPE strings were provided; affected versions are containerd 2.x prior to 2.3.2, 2.2.5, and 2.1.9 respectively.

Know when Containerd gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CNA) PRIMARY 5.6 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:H/SI:H/SA:L
vuln.today AI 8.2 HIGH

Network vector via Kubernetes API; PR:L for required pod-creation permission; AC:H for two-stage attack requiring victim pod with non-Always pull policy; S:C as compromise crosses into victim pod identity.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
SUSE 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Red Hat 6.7 MEDIUM

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
Low

Lifecycle Timeline

1
CVSS changed
Jul 01, 2026 - 19:22 NVD
5.6 (MEDIUM)

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

CVE-2026-50195 in containerd enables attackers to poison the node-local image cache, causing production Kubernetes pods to silently execute malicious container images under the pod's service account identity. The attack leaves no visible audit trail in deployment logs, making it a supply-chain-style compromise of production infrastructure. Any organization running containerd in Kubernetes faces immediate risk of silent code execution and privilege escalation to application service accounts.

Business Impact: Severe
Compensating Controls

Patch available per vendor advisory. Interim mitigations if immediate patching is not feasible: enforce pod creation RBAC restrictions to limit who can create containers; configure Always image pull policy (not IfNotPresent) to force fresh validation; implement container image scanning to detect anomalies; monitor containerd logs for checkpoint corruption. These do not prevent exploitation and should not delay patching.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Threat Intel
1
1 sources
Social Media
3
Sightings
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Package Hub 15 SP7 Fixed
openSUSE Tumbleweed Fixed
SLES15-SP5-CHOST-BYOS-SAP-CCloud Not-Affected
SLES15-SP6-CHOST-BYOS Not-Affected
SLES15-SP6-CHOST-BYOS-Aliyun Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy