CVE-2026-94603 Security Alert: CRITICAL Vulnerability

Urgent: CVE-2026-94603 requires immediate attention.

· 7 min read

Urgent security alert: CVE-2026-94603 is a critical Podman flaw that can cause user-supplied runtime flags to be silently ignored when a container image is actually a checkpoint artifact. For solo developers and small teams, the practical risk is that a supposedly hardened podman run command may launch with the checkpoint’s embedded privileges and sandbox settings instead, potentially restoring a container with far more access than intended.

Executive Summary

Podman’s checkpoint-distribution feature allowed checkpoint data to be pulled from an OCI registry and started with podman run. The issue: if an image contains the annotation io.podman.annotations.checkpoint.runtime.name, Podman treats it as a checkpoint and overrides user security settings such as --cap-drop=ALL. Because the image can control how it is executed, the Podman maintainers reverted the feature entirely. This is rated CRITICAL (CVSS 10).

Good news: there is no known exploitation in the wild and no KEV listing at this time. Bad news: the safest fix is to remove/avoid the affected functionality immediately and update to a reverted/patched release.

Immediate Action

  • Stop pulling or running checkpoint-like images from registries until you can verify they are not checkpoint artifacts.
  • Upgrade Podman immediately to a release that includes the revert: v6.1+, v5.8+, or the first fixed release in your distro package stream.
  • Rollback any automation that uses podman run on registry-hosted images you do not fully control.
  • Isolate affected hosts if they run untrusted images or CI jobs that pull from shared registries.
  • Scan registries/images for the annotation io.podman.annotations.checkpoint.runtime.name and reject matches.
  • Check the vendor advisory / release notes: Vendor advisory link (TODO).

Affected Versions

  • github.com/containers/podman versions that include the checkpoint-via-registry feature are vulnerable; fixed by the revert in the referenced patch set.
  • go.podman.io/podman/v6 versions before the revert are vulnerable; upgrade to v6.1+ or the first release containing the revert.
  • v5.x streams are vulnerable where the feature exists; upgrade to v5.8+ or the first package release containing the revert.
  • Rootless containers are not affected by this issue, because checkpoint/restore is not supported there currently.

Resolution Guide

Podman upgrade (recommended):

# Linux package managers (examples; use your distro's package name/version)
sudo apt update && sudo apt install --only-upgrade podman
sudo yum update podman
sudo dnf update podman

Go module consumers:

go get github.com/containers/podman@latest
go get go.podman.io/podman/v6@latest
go mod tidy

JavaScript/Python/Java note: Podman is not typically installed via npm/pip/Maven/Gradle. If your app shells out to podman, update the host package instead of the application dependency.

Docker image tags / CI runners:

# Pin to a fixed Podman-enabled base image or runner image once available
FROM TODO_FIXED_BASE_IMAGE_TAG

# Or rebuild your CI image after upgrading the host package
RUN dnf -y update podman && dnf clean all

Hardening workaround: reject any image with the checkpoint annotation before running it.

# Example preflight check using skopeo + jq
skopeo inspect docker://REGISTRY/IMAGE:TAG | jq -e '
  .Labels["io.podman.annotations.checkpoint.runtime.name"] | not
'

Minimal wrapper fix example:

#!/usr/bin/env bash
set -euo pipefail

image="$1"
if skopeo inspect "docker://$image" | jq -e '.Labels["io.podman.annotations.checkpoint.runtime.name"]' >/dev/null; then
  echo "رفض: checkpoint image detected" >&2
  exit 1
fi

exec podman run --cap-drop=ALL --security-opt=no-new-privileges "$image"

Detection & Verification

Check your Podman version:

podman --version
rpm -q podman
dpkg -l | grep podman
go list -m all | grep -E 'containers/podman|go.podman.io/podman/v6'

Search for checkpoint annotations in images or manifests:

grep -R "io.podman.annotations.checkpoint.runtime.name" /path/to/image-metadata
skopeo inspect docker://REGISTRY/IMAGE:TAG | grep -i checkpoint
podman image inspect IMAGE:TAG | grep -i checkpoint

Verify the fix:

# After upgrading, confirm the package/module version
podman --version
rpm -q podman
go list -m github.com/containers/podman
go list -m go.podman.io/podman/v6

Behavior check: run a test container with a restrictive flag and confirm it is honored on a known-good image.

podman run --rm --cap-drop=ALL alpine sh -c 'grep CapEff /proc/self/status'

Risk and Impact

This flaw can let a malicious or unexpected checkpoint image override your runtime security choices, including Linux capabilities and sandbox settings. In practice, that means a container you intended to run with reduced privileges could start with a much broader attack surface. For small teams, the blast radius includes CI runners, build hosts, and any developer workstation that pulls and runs registry-hosted images without strict preflight checks.

Keep reading