CVE-2024-3056
Medium · 4.8CVSS
4.8
EPSS
0.5%
Published
Aug 2, 2024
CISA due date
—
Cloudanix analysis
A problem in container software lets a malicious container slowly fill up system memory that never gets released, eventually making the whole computer stop working.
- Exploitation
- Requires User Interaction
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Allows a container sharing an IPC namespace to allocate unbounded IPC resources in /dev/shm; the resources persist after the container is OOM-killed because they are bound to the namespace, which is only released when the last container using it exits.
Why it matters to the business
Repeated restarts of the malicious container (via restart policies or attacker control) cause progressive memory exhaustion on the host, resulting in denial of service for other workloads and potential system instability until all containers sharing the namespace are stopped.
How an attack unfolds
An attacker authors a container image that, when started alongside a victim container sharing the same IPC namespace, repeatedly allocates large amounts of shared memory; the container is configured to restart automatically so that each OOM-killed instance leaves behind additional unreclaimed IPC objects until the host runs out of memory.
How to fix it
Upgrade Podman on Debian 13 to version 6.10.4-1 or later; after upgrade, restart all containers that share IPC namespaces and verify that no stale IPC resources remain in affected namespaces.
How to confirm the fix worked
Confirm Podman version is 6.10.4-1 or newer on all hosts; run 'podman version' and package manager queries; test by starting two containers with --ipc=shareable/--ipc=container: and monitoring /dev/shm usage and namespace cleanup on restart.
Typical attack path
- Identify or create a target container that shares IPC namespace with the victim workload
- Build and run a malicious container that allocates excessive IPC objects in /dev/shm
- Configure the malicious container with an automatic restart policy such as --restart=always
- Trigger repeated OOM kills of the malicious container while a non-malicious container keeps the namespace alive
- Observe cumulative memory consumption until the host becomes unresponsive
How to detect it
Review Podman and container runtime logs for repeated creation and OOM termination of containers that share IPC namespaces; inspect /proc/sysvipc and /dev/shm for growing numbers of objects tied to long-lived namespaces; correlate with high memory pressure events on the host.
What your security team should do
- Immediately upgrade all Podman installations on Debian 13 to 6.10.4-1
- Audit existing container definitions for use of --ipc=shareable or --ipc=container: combined with restart policies
- Implement resource limits (memory and IPC) on all containers to reduce blast radius
- Monitor container restart counts and /dev/shm usage in orchestration platforms
The record
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 | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/containers/podman | 0 | No fix |
| Go | github.com/containers/podman/v2 | 0 | No fix |
| Go | github.com/containers/podman/v3 | 0 | No fix |
| Go | github.com/containers/podman/v4 | 0 | No fix |
| Go | github.com/containers/podman/v5 | 0 | No fix |
| Chainguard | podman | 0 | 5.6.2-r2 |
| Chainguard | podman-doc | 0 | 5.6.2-r2 |
| Debian:11 | libpod | 0 | No fix |
| Debian:12 | libpod | 0 | No fix |
| Debian:13 | podman | 0 | No fix |
| Ubuntu:22.04:LTS | libpod | 0 | No fix |
| Ubuntu:24.04:LTS | libpod | 0 | No fix |
| Ubuntu:24.10 | libpod | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | libpod | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | libpod | 0 | No fix |
| Wolfi | podman | 0 | 5.6.2-r2 |
| Wolfi | podman-doc | 0 | 5.6.2-r2 |
Related vulnerabilities
- CVE-2024-1753 A flaw was found in Buildah (and subsequently Podman Build) which allows containers to… Also affects github.com/containers/podman/v4
- CVE-2023-0778 A Time-of-check Time-of-use (TOCTOU) flaw was found in podman. Also affects github.com/containers/podman/v4
- CVE-2026-24137 sigstore framework is a common go library shared across sigstore services and clients. Also affects podman
- CVE-2025-66506 Fulcio is a free-to-use certificate authority for issuing code signing certificates for… Also affects podman
- CVE-2025-58058 xz is a pure golang package for reading and writing xz-compressed files. Also affects podman
- CVE-2024-9341 A flaw was found in Go. Also affects podman
- CVE-2026-113795 pypdf is a free and open-source pure-python PDF library. CWE-400
- CVE-2026-83400 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… CWE-400