Skip to content
← RegistryDossier · 5 steps · 4 edges

CVE-2024-21626 (Leaky Vessels) → container escape

Outdated runc lets a malicious image escape during 'docker build' or 'docker run' via a leaked file descriptor pointing at the host filesystem.

Filed by AD Knowledge Base
§ Kill-chainDrag · zoom · scroll

§ Context

Assumed environment: target runs runc < 1.1.12 (or BuildKit < 0.12.5). Attacker can push a custom image into the build / runtime pipeline.

§ Steps

  1. 01
    Identify vulnerable runc versionReconnaissance
    W-RECON-FINGERPRINTTech Stack Fingerprinting
  2. 02
    File descriptor points at host rootPrivilege Escalation
    K-PRIV-CONTAINERPrivileged Container Escape
  3. 03
    Read/write host filesystemPrivilege Escalation
    K-HOSTPATH-MOUNThostPath Volume Mount
  4. 04
    Craft image with WORKDIR /proc/self/fd/<N>Privilege Escalation
    K-CVE-2024-21626runc CVE-2024-21626 (Leaky Vessels)
  5. 05
    Trigger image build / runPersistence
    K-IMAGE-BACKDOORBackdoored Container Image

§ Frequently asked

What is the "CVE-2024-21626 (Leaky Vessels) → container escape" attack path?
Outdated runc lets a malicious image escape during 'docker build' or 'docker run' via a leaked file descriptor pointing at the host filesystem. It chains 5 steps drawn from real-world offensive-security techniques.
What starting position does this attack require?
The first step is Identify vulnerable runc version (W-RECON-FINGERPRINT) — a reconnaissance primitive. Assumed environment: target runs runc < 1.
What is the final impact of this kill-chain?
The final step lands on Trigger image build / run (K-IMAGE-BACKDOOR), which falls under Persistence. From here, an operator typically pivots into post-exploitation or maintains persistence.
How can defenders detect or prevent this attack?
Detection and prevention vary per step. Refer to each linked MITRE ATT&CK entry under "References" — every technique on that page lists defensive controls, detection telemetry, and known threat-actor usage.

§ Related dossiers