CVE-2024-36620

6.5 MEDIUM

📋 TL;DR

CVE-2024-36620 is a NULL pointer dereference vulnerability in Moby (Docker's open-source engine) that can cause a denial of service by crashing the Docker daemon. This affects systems running Moby v25.0.0 through v26.0.2 when specific image history operations are performed. The vulnerability requires access to the Docker API or CLI.

💻 Affected Systems

Products:
  • Moby (Docker Engine)
Versions: v25.0.0 through v26.0.2
Operating Systems: Linux, Windows, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when performing specific image history operations via Docker API or CLI. Docker Desktop may bundle affected versions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete Docker daemon crash leading to container downtime, loss of container state, and service disruption across all containers on the host.

🟠

Likely Case

Docker daemon crash requiring manual restart, causing temporary container downtime until daemon is restored.

🟢

If Mitigated

Minimal impact if proper access controls limit who can execute Docker commands and systems have automated recovery mechanisms.

🌐 Internet-Facing: MEDIUM - Requires Docker API exposure and authentication bypass or valid credentials to exploit remotely.
🏢 Internal Only: MEDIUM - Internal users with Docker access can cause denial of service, but requires specific image operations.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Simple API call triggers the vulnerability if access is available.

Exploitation requires access to Docker socket/API and knowledge of specific vulnerable operations. No public exploit code available at this time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v26.0.3 and later

Vendor Advisory: https://github.com/moby/moby/security/advisories/GHSA-xxxx-xxxx-xxxx

Restart Required: Yes

Instructions:

1. Stop all containers. 2. Backup important container data. 3. Upgrade Moby/Docker Engine to v26.0.3+. 4. Restart Docker daemon. 5. Verify version with 'docker version'.

🔧 Temporary Workarounds

Restrict Docker API Access

linux

Limit who can access Docker socket/API to prevent unauthorized users from triggering the vulnerability.

sudo chmod 660 /var/run/docker.sock
sudo chown root:docker /var/run/docker.sock

Disable Image History Operations

all

Block or monitor 'docker image history' and related API calls through network policies or monitoring.

🧯 If You Can't Patch

  • Implement strict access controls on Docker socket/API to limit who can execute Docker commands.
  • Monitor Docker daemon logs for crashes and implement automated restart mechanisms for high availability.

🔍 How to Verify

Check if Vulnerable:

Check Docker version: 'docker version' and verify if between v25.0.0 and v26.0.2 inclusive.

Check Version:

docker version --format '{{.Server.Version}}'

Verify Fix Applied:

After upgrade, run 'docker version' to confirm version is v26.0.3 or later.

📡 Detection & Monitoring

Log Indicators:

  • Docker daemon crash logs
  • Panic messages in system logs mentioning image_history.go
  • Unexpected Docker daemon restarts

Network Indicators:

  • HTTP requests to Docker API endpoints related to image history operations

SIEM Query:

source="docker" AND ("panic" OR "crash" OR "image_history")

🔗 References

📤 Share & Export