CVE-2024-3056

7.7 HIGH

📋 TL;DR

This vulnerability in Podman allows attackers to create malicious containers that exhaust system memory through IPC resource exhaustion. When containers share IPC namespaces, a malicious container can create excessive resources that persist after the container is killed, leading to denial of service. This affects systems running vulnerable Podman versions with containers configured to share IPC namespaces.

💻 Affected Systems

Products:
  • Podman
Versions: Versions before 4.9.4
Operating Systems: Linux
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when containers are configured to share IPC namespaces (--ipc flag). Default isolated containers are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system memory exhaustion leading to denial of service, potentially crashing the host system and affecting all containers and services running on it.

🟠

Likely Case

Memory exhaustion on affected hosts causing container failures, application downtime, and degraded system performance until manual intervention.

🟢

If Mitigated

Limited impact with proper monitoring and resource limits, though some performance degradation may occur during attack attempts.

🌐 Internet-Facing: MEDIUM - Requires container deployment access, but could be exploited if container management interfaces are exposed.
🏢 Internal Only: HIGH - Attackers with internal access to deploy containers can easily exploit this to disrupt critical services.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires ability to create containers with shared IPC namespaces. The attack pattern is straightforward and documented in the vulnerability details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Podman 4.9.4 and later

Vendor Advisory: https://access.redhat.com/security/cve/CVE-2024-3056

Restart Required: Yes

Instructions:

1. Update Podman to version 4.9.4 or later using your package manager. 2. Restart all containers and the Podman service. 3. Verify the update with 'podman --version'.

🔧 Temporary Workarounds

Disable shared IPC namespaces

linux

Avoid using shared IPC namespaces between containers by not using the --ipc flag or setting IPC mode to 'private'.

podman run --ipc=private ...

Implement memory limits

linux

Set strict memory limits on containers to prevent excessive memory consumption.

podman run --memory=512m --memory-swap=1g ...

🧯 If You Can't Patch

  • Avoid using shared IPC namespaces between containers
  • Implement strict monitoring for /dev/shm usage and container memory consumption

🔍 How to Verify

Check if Vulnerable:

Check Podman version with 'podman --version' and verify if below 4.9.4. Also check if any containers are using shared IPC namespaces with 'podman inspect <container> | grep -i ipc'.

Check Version:

podman --version

Verify Fix Applied:

Confirm Podman version is 4.9.4 or higher with 'podman --version'. Test by creating containers with shared IPC and monitoring /dev/shm usage.

📡 Detection & Monitoring

Log Indicators:

  • Rapid container restarts due to OOM kills
  • Unusual /dev/shm growth patterns
  • High memory usage by containers with shared IPC

Network Indicators:

  • None specific - this is a local resource exhaustion attack

SIEM Query:

source="podman" AND ("OOM" OR "out of memory") AND "restart"

🔗 References

📤 Share & Export