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 runon 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.nameand reject matches. - Check the vendor advisory / release notes: Vendor advisory link (TODO).
Affected Versions
github.com/containers/podmanversions that include the checkpoint-via-registry feature are vulnerable; fixed by the revert in the referenced patch set.go.podman.io/podman/v6versions before the revert are vulnerable; upgrade tov6.1+or the first release containing the revert.v5.xstreams are vulnerable where the feature exists; upgrade tov5.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.