{"id":10,"date":"2025-11-22T16:16:02","date_gmt":"2025-11-22T16:16:02","guid":{"rendered":"https:\/\/ko4bep.net\/blog\/?p=10"},"modified":"2025-11-22T16:19:35","modified_gmt":"2025-11-22T16:19:35","slug":"why-docker-is-a-pain-in-the-ass","status":"publish","type":"post","link":"https:\/\/ko4bep.net\/blog\/index.php\/2025\/11\/22\/why-docker-is-a-pain-in-the-ass\/","title":{"rendered":"Why Docker Is a Pain-in-the-Ass"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">(And Why You\u2019re Totally Right to Hate It)<\/h2>\n\n\n\n<p>If you\u2019re dealing with containers and still have a shred of sanity, here\u2019s the brutal truth: Docker is less of a magical \u201csafe sandbox\u201d and more of a <strong>convenience-bait with a liability tag<\/strong>. Let\u2019s tear down the hype and get real about what this thing really brings \u2014 so you (and your users) can make an informed decision instead of blindly following the \u201ccontainerize everything\u201d evangelists.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. The Broken Promise of \u201cIsolation\u201d<\/h2>\n\n\n\n<p>Docker likes to sell containers like they\u2019re neat little self-contained sandboxes. Reality? They share the host kernel.<br>For instance: the \u201cLeaky Vessels\u201d vulnerabilities demonstrate how a container could break out and compromise the host. :contentReference[oaicite:1]{index=1}<br>One recent critical bug, CVE-2025-9074 (CVSS 9.3), allowed a container on Docker Desktop to access the Engine API and launch new containers\u2014<em>without requiring the Docker socket to be mounted<\/em>. That\u2019s full host compromise by design failure. :contentReference[oaicite:2]{index=2}<br>If you\u2019re relying on \u201ccontainers = safe\u201d you\u2019re working on sand.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Defaults Built for Convenience, Not Security<\/h2>\n\n\n\n<p>Running as root inside the container? Host volumes mounted indiscriminately? Docker socket (<code>\/var\/run\/docker.sock<\/code>) handed to untrusted containers? These are not fringe cases\u2014they\u2019re default modes of operation for many users.<br>When you deploy tools for novice-to-intermediate users, deploying them inside Docker <em>without<\/em> being explicit about this is asking for trouble.<br>Simply put: if you skip the hardening, you inherited a risk.<br>See the \u201cAttacker\u2019s Tactics and Techniques in Unsecured Docker Daemons\u201d paper: unsecured daemons = bad times. :contentReference[oaicite:3]{index=3}<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. The API That Acts Like It\u2019s Open Season<\/h2>\n\n\n\n<p>One of Docker\u2019s biggest sins: remote Docker API (especially on port 2375) exposed without authentication. Attackers have used this to spin up containers, mount host directories, drop cryptominers.<br>A new campaign cited by Akamai (Aug\/2025) shows this in action: malicious containers created via exposed API, mounting host filesystem at will. :contentReference[oaicite:5]{index=5}<br>If your deployment gives users \u201cpull-run-go\u201d with no API audit, you\u2019re handing them an open door with a welcome mat.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. The Supply-Chain Sucker-Punch<\/h2>\n\n\n\n<p>You pull an image from Docker Hub and think \u201ccool, containerized, done.\u201d Wrong.<br>A study on base-image vulnerabilities found that many images inherit flawed foundations: \u201cWell Begun is Half Done: An Empirical Study of Exploitability &amp; Impact of Base-Image Vulnerabilities\u201d. :contentReference[oaicite:6]{index=6}<br>Even worse: \u201cgh0stEdit\u201d research shows you can tamper with a signed image without invalidating the signature\u2014undetected malicious layers. :contentReference[oaicite:7]{index=7}<br>\u201cTrust but verify\u201d should be your mantra. With Docker, you might not even be getting that.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Bloat &amp; Time-Bomb of Maintenance<\/h2>\n\n\n\n<p>Because many Dockerfiles are written for speed and convenience (just throw everything in), images inflate in size, dependencies pile up, attack surface grows.<br>If you\u2019re building a security tool, you don\u2019t want a 1 GB monster image filled with unnecessary libs-and-bins. One paper categorised bad base image practices as major exploit enablers. :contentReference[oaicite:8]{index=8}<br>Also: more tooling = more attack surface (engine, desktop, compose, orchestrator). If you aren\u2019t vigilant, you inherit the overhead.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Vulnerabilities Keep Piling Up<\/h2>\n\n\n\n<p>Containers are not invulnerable. They carry their own risks.<br>Docker\u2019s own security advisory shows a string of critical vulnerabilities: e.g., CVE-2025-9074 (Docker Desktop host compromise), CVE-2025-9164 (DLL hijack in installer) \u2026 :contentReference[oaicite:9]{index=9}<br>And the runtime level: new runC vulnerabilities allow container escape toward host via symlink or race conditions. :contentReference[oaicite:10]{index=10}<br>When your stack says \u201ccontainers = safe by default\u201d \u2014 misleading is a nice word.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Shared Kernel + Lazy Admins = Disaster Potential<\/h2>\n\n\n\n<p>The fundamental architectural issue: containers share the host OS kernel. A host-kernel exploit or privileged container \u2192 host takeover.<br>From French Wikipedia (yay) on Docker security:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cLes conteneurs Linux n\u2019ont pas \u00e9t\u00e9 con\u00e7us comme un m\u00e9canisme de s\u00e9curit\u00e9 permettant d\u2019isoler les conteneurs non fiables \u2026 un exploit donnant des privil\u00e8ges root complets \u00e0 un conteneur peut permettre \u00e0 un attaquant de percer ce conteneur et de compromettre l\u2019h\u00f4te.\u201d :contentReference[oaicite:11]{index=11}<br>If your user base isn\u2019t firmly disciplined, you\u2019re basically trusting that \u201ceverything goes right\u201d instead of designing for \u201cwhat happens when someone screws up\u201d.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Real Incidents: People <em>Got Hurt<\/em><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A campaign by Akamai (Sep 2025) targeted exposed Docker APIs and installed cryptominers\/backdoors. :contentReference[oaicite:12]{index=12}<\/li>\n\n\n\n<li>Another research (Datadog, Jun 2024) observed containers spun on exposed Docker daemons for cryptojacking. :contentReference[oaicite:13]{index=13}<\/li>\n\n\n\n<li>Older but relevant: Trend Micro (2019) found images on Docker Hub used for mining via exposed APIs. :contentReference[oaicite:14]{index=14}<br>These aren\u2019t \u201cmaybe could happen\u201d \u2014 they did happen. Your users should know that.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Tooling Complexity Hides Risk, Not Reduces It<\/h2>\n\n\n\n<p>Using Docker often means: engine, desktop GUI, CLI, compose files, registries, networks, volumes, metadata. Each layer invites misconfiguration.<br>If you target novice-to-intermediate users and deploy via Docker without providing <em>explicit training<\/em> or guardrails, you\u2019re stacking the odds toward error.<br>Again: convenience \u2260 safety.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">10. The \u201cEasy\u201d Narrative Is Misleading<\/h2>\n\n\n\n<p>Marketing says: \u201cBuild once, run anywhere, container magic\u201d. Reality:<br>You still need to secure the daemon, lock down APIs, verify images, limit capabilities, monitor runtime, isolate networks, patch base images.<br>When you skip these, your \u201csafe container\u201d becomes your weakest link.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Final Word<\/h2>\n\n\n\n<p>Docker: convenience-bait with a hidden price-tag.<br>Isolation? weaker than you think.<br>Defaults? optimized for \u201cworks fast\u201d, not \u201csecures tight\u201d.<br>Image ecosystem? messy.<br>Infrastructure burden? real.<br>If you\u2019re sharing applications with the world, <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Docker Desktop 4.44.3: Important Container Escape Vuln. LinuxSecurity. (Aug 26 2025). <a href=\"https:\/\/linuxsecurity.com\/news\/security-vulnerabilities\/docker-desktop-4-44-3-security-update\">https:\/\/linuxsecurity.com\/news\/security-vulnerabilities\/docker-desktop-4-44-3-security-update<\/a> :contentReference[oaicite:15]{index=15}<\/li>\n\n\n\n<li>Off Your Docker: Exposed APIs Are Targeted in New Malware Strain. Akamai Hunt Team. (Sep 8 2025). <a href=\"https:\/\/www.akamai.com\/blog\/security-research\/new-malware-targeting-docker-apis-akamai-hunt\">https:\/\/www.akamai.com\/blog\/security-research\/new-malware-targeting-docker-apis-akamai-hunt<\/a> :contentReference[oaicite:16]{index=16}<\/li>\n\n\n\n<li>Docker Fixes CVE-2025-9074, Critical Container Escape Vulnerability (CVSS 9.3). The Hacker News. (Aug 25 2025). <a href=\"https:\/\/thehackernews.com\/2025\/08\/docker-fixes-cve-2025-9074-critical.html\">https:\/\/thehackernews.com\/2025\/08\/docker-fixes-cve-2025-9074-critical.html<\/a> :contentReference[oaicite:17]{index=17}<\/li>\n\n\n\n<li>Attackers deploying new tactics in campaign targeting exposed Docker APIs. Datadog Security Labs. (Jun 13 2024). <a href=\"https:\/\/securitylabs.datadoghq.com\/articles\/attackers-deploying-new-tactics-in-campaign-targeting-exposed-docker-apis\/\">https:\/\/securitylabs.datadoghq.com\/articles\/attackers-deploying-new-tactics-in-campaign-targeting-exposed-docker-apis\/<\/a> :contentReference[oaicite:18]{index=18}<\/li>\n\n\n\n<li>Container Escape: New Vulnerabilities Affecting Docker. Palo-Alto Networks blog. (Feb 5 2024). <a href=\"https:\/\/www.paloaltonetworks.com\/blog\/cloud-security\/leaky-vessels-vulnerabilities-container-escape\/\">https:\/\/www.paloaltonetworks.com\/blog\/cloud-security\/leaky-vessels-vulnerabilities-container-escape\/<\/a> :contentReference[oaicite:19]{index=19}<\/li>\n\n\n\n<li>Infected Containers Target Docker via Exposed APIs. Trend Micro. (May 30 2019). <a href=\"https:\/\/www.trendmicro.com\/en_us\/research\/19\/e\/infected-cryptocurrency-mining-containers-target-docker-hosts-with-exposed-apis-use-shodan-to-find-additional-victims.html\">https:\/\/www.trendmicro.com\/en_us\/research\/19\/e\/infected-cryptocurrency-mining-containers-target-docker-hosts-with-exposed-apis-use-shodan-to-find-additional-victims.html<\/a> :contentReference[oaicite:20]{index=20}<\/li>\n\n\n\n<li>Well Begun Is Half Done: An Empirical Study of Exploitability &amp; Impact of Base-Image Vulnerabilities. Ul Haque et al. (Dec 21 2021). <a href=\"https:\/\/arxiv.org\/abs\/2112.12597\">https:\/\/arxiv.org\/abs\/2112.12597<\/a> :contentReference[oaicite:21]{index=21}<\/li>\n\n\n\n<li>gh0stEdit: Exploiting Layer-Based Access Vulnerability Within Docker Container Images. Mills et al. (Jun 9 2025). <a href=\"https:\/\/arxiv.org\/abs\/2506.08218\">https:\/\/arxiv.org\/abs\/2506.08218<\/a> :contentReference[oaicite:22]{index=22}<\/li>\n\n\n\n<li>Docker security announcements. Docker official docs. <a href=\"https:\/\/docs.docker.com\/security\/security-announcements\/\">https:\/\/docs.docker.com\/security\/security-announcements\/<\/a> :contentReference[oaicite:23]{index=23}<\/li>\n\n\n\n<li>New runC Vulnerabilities Expose Docker and Kubernetes to Container Escape Attacks. ORCA\/orca.security blog. (Nov 10 2025). <a href=\"https:\/\/orca.security\/resources\/blog\/new-runc-vulnerabilities-allow-container-escape\/\">https:\/\/orca.security\/resources\/blog\/new-runc-vulnerabilities-allow-container-escape\/<\/a> :contentReference[oaicite:24]{index=24}<\/li>\n\n\n\n<li>Vulnerable Docker Installations: Malware Attack Playground. Uptycs Threat Research. (May 2 2022). <a href=\"https:\/\/www.uptycs.com\/blog\/threat-research-report-team\/vulnerable-docker-installations-are-a-playhouse-for-malware-attacks\">https:\/\/www.uptycs.com\/blog\/threat-research-report-team\/vulnerable-docker-installations-are-a-playhouse-for-malware-attacks<\/a> :contentReference[oaicite:25]{index=25}<\/li>\n\n\n\n<li>Attacker\u2019s Tactics and Techniques in Unsecured Docker Daemons Revealed. Unit 42, Palo Alto Networks. (Jan 29 2020). <a href=\"https:\/\/unit42.paloaltonetworks.com\/attackers-tactics-and-techniques-in-unsecured-docker-daemons-revealed\/\">https:\/\/unit42.paloaltonetworks.com\/attackers-tactics-and-techniques-in-unsecured-docker-daemons-revealed\/<\/a> :contentReference[oaicite:26]{index=26}<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>(And Why You\u2019re Totally Right to Hate It) If you\u2019re dealing with containers and still have a shred of sanity, here\u2019s the brutal truth: Docker is less of a magical \u201csafe sandbox\u201d and more of a convenience-bait with a liability tag. Let\u2019s tear down the hype and get real about what this thing really brings [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[4,3,6,5],"class_list":["post-10","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-docker","tag-it","tag-rants","tag-security"],"_links":{"self":[{"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":3,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":13,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/10\/revisions\/13"}],"wp:attachment":[{"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ko4bep.net\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}