CVE-2024-3056 — podman
HIGHCVE-2024-3056 is a high-severity (CVSS 7.7) Uncontrolled Resource Consumption vulnerability in github.com/containers/podman/v5. The records list no fixed version yet; check the vendor advisory below and apply the mitigations in the meantime.
Podman: kernel: containers in shared ipc namespace are vulnerable to denial of service attack
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2024-3056.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
github.com/containers/podman/v5🐹github.com/containers/podman🐹github.com/containers/podman/v2🐹github.com/containers/podman/v3🐹github.com/containers/podman/v4Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
A flaw was found in Podman. This issue may allow an attacker to create a specially crafted container that, when configured to share the same IPC with at least one other container, can create a large number of IPC resources in /dev/shm. The malicious container will continue to exhaust resources until it is out-of-memory (OOM) killed. While the malicious container's cgroup will be removed, the IPC resources it created are not. Those resources are tied to the IPC namespace that will not be removed until all containers using it are stopped, and one non-malicious container is holding the namespace open. The malicious container is restarted, either automatically or by attacker control, repeating the process and increasing the amount of memory consumed. With a container configured to restart always, such as podman run --restart=always, this can result in a memory-based denial of service of the system.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/containers/podman/v5 | all versions | No fix |
| 🐹Go | github.com/containers/podman | all versions | No fix |
| 🐹Go | github.com/containers/podman/v2 | all versions | No fix |
| 🐹Go | github.com/containers/podman/v3 | all versions | No fix |
| 🐹Go | github.com/containers/podman/v4 | all versions | No fix |
Affected Products
fedorafedoraprojectpodmanpodman_projectenterprise linuxredhatopenshift container platformredhatDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/containers/podman/v5, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Remediation status
The records we use list no patched version of github.com/containers/podman/v5 for CVE-2024-3056. Check the maintainer's advisory, and where your build allows, override or pin the dependency away from the vulnerable range.
Mitigate without a patch
Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
The vulnerability is not present in podman, but actually in the kernel. This is where any potential fix will be done and tracked.
Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.Source: Red Hat security advisory for CVE-2024-3056 (CC BY 4.0)
Frequently Asked Questions
Is CVE-2024-3056 in your dependencies?
Find it across Go, including transitive dependencies.