The Bug That Should Have Never Existed
CVE-2025-9074 is what happens when you expose the Docker Engine API at 192.168.65.7:2375
with zero authentication on a network every container can reach. Docker Desktop before version 4.44.3 basically said "hey containers, want root access? No password needed."
I've debugged this attack in production. Here's the painful reality:
Technical Breakdown
The Docker Engine management API sits unprotected on the default Docker subnet. Any Linux container can hit this endpoint without:
- Auth tokens
- Special privileges
- Socket mounts (
/var/run/docker.sock
) - Admin rights
This violates every principle Docker claims to follow in their security documentation. Their own security guidelines become meaningless when the control plane is exposed to workloads.
The Attack (It's Embarrassingly Simple)
Felix Boulet discovered this during routine container debugging. The "exploit" is so basic it barely counts as hacking:
- HTTP Request: Create container via API with host mount config
- Bind Host: Mount
/
from host to/host
in new container - Start Container: POST to container start endpoint
- Own Everything: Full root access
I watched a pen tester do this in a demo. Took 45 seconds from container start to host compromise. PVOTAL Tech's investigation confirms this attack works consistently.
Platform Reality Check
Windows (You're Screwed): Docker Desktop runs through WSL2. When attackers mount C:\
with admin rights, they own your machine. In the wild, I've seen them:
- Steal browser passwords and Windows credentials
- Drop ransomware in
C:\Windows\System32
- Install persistent backdoors
- Grab AWS keys and VPN configs
macOS (Less Screwed): Apple's sandboxing requires permission dialogs before system access. But attackers still get:
- Full Docker control
- Access to any data Docker touches
- Your dev credentials and API keys
Linux (Actually Safe): Uses Unix sockets instead of this network bullshit. Docker engineers develop on Linux because they knew Windows/macOS were broken.
Why Enhanced Container Isolation is Useless
Enhanced Container Isolation doesn't stop this attack. It bypasses all Docker's security theater because the API exposure happens at the network level, before ECI even gets involved.
I've tested this - ECI enabled, vulnerability still works perfectly. Docker's marketing team lied about what their security features actually protect. The Docker security best practices become meaningless when the daemon itself is compromised.