Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain adjacent network access to proxy TCP port
-
DeliveryEnumerate container IDs via GET /containers/json
-
ExploitRequest GET /containers/{id}/export
-
ExecutionProxy forwards request to Docker daemon unchecked
-
PersistReceive full container filesystem as tar archive
-
ImpactExtract secrets and credentials offline
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V8 - Authorization Insufficient granularity of access control
|
| Exploitation Conditions | Exploitation requires that the CONTAINERS environment variable is set to a truthy value in the docker-socket-proxy deployment - this specific configuration flag is the prerequisite that triggers the overly broad access grant. The attacker must additionally have adjacent network access to the TCP port on which the proxy is listening (AV:A), typically within the same Docker bridge network, host network, or reachable subnet. No authentication credentials against the proxy are required (PR:N per the CVSS 4.0 vector). Exploitation is strictly limited to read operations - the four vulnerable endpoints (/containers/{id}/archive, /containers/{id}/export, /containers/{id}/logs, /containers/{id}/top) produce no write, execution, or availability impact. Deployments where CONTAINERS is set to 0 or unset (the documented default) are not affected by this vulnerability. Knowledge of a valid container ID or name is needed to target a specific container, though /containers/json (also permitted under CONTAINERS=1) can be used to enumerate running containers. |
| Impact | The CVSS 4.0 score of 8.3 with AV:A correctly reflects that exploitation requires adjacent network access to the proxy - typically the same Docker bridge network, subnet, or host - which meaningfully constrains the attack surface relative to an internet-exposed service. The VC:H and SC:H ratings are well-justified: any unauthenticated party on the adjacent network can exfiltrate entire container filesystems, a severe confidentiality breach affecting both the proxy system and downstream Docker containers. There is no integrity or availability impact (VI:N, VA:N, SI:N, SA:N). With PR:N and AC:L, exploitation requires no credentials and no special setup beyond an HTTP client and a reachable proxy port. No EPSS score is present in the provided data. No CISA KEV listing confirms active exploitation. The referenced GitHub gist has not been independently confirmed as functional exploit code, so exploitation status is currently 'no public exploit identified at time of analysis.' Despite the absence of KEV, the triviality of exploitation - a plain GET request - and the severity of information exposure make this a genuine remediation priority for any team where the CONTAINERS flag is enabled, not merely a paper-high CVSS score. The AV:A constraint is the primary real-world limiting factor; environments where the proxy port is reachable only from tightly controlled internal services face substantially lower practical risk. |
| Exploit ScenarioDerived | An attacker with access to the Docker network where docker-socket-proxy is listening issues a GET request to /containers/{id}/export using a standard HTTP client such as curl. Because CONTAINERS=1 grants namespace-level access, the proxy forwards the request to the Docker daemon unimpeded and returns the container's full filesystem as a tar archive, exposing application secrets, environment variables, private keys, and configuration files. No credentials, exploit framework, or vulnerability-specific tooling are required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 22, 2026
Insufficient access control granularity in docker-socket-proxy allows adjacent-network attackers without credentials to read arbitrary files and exfiltrate entire container filesystems via four unguarded Docker API endpoints. When the CONTAINERS environment variable is set, the HAProxy-based proxy fails to block /containers/{id}/archive, /containers/{id}/export, /containers/{id}/logs, and /containers/{id}/top, treating namespace-level permission as blanket endpoint permission. No active exploitation or confirmed public exploit code has been identified at time of analysis, though a researcher gist is referenced alongside the upstream fix in PR #183.
RemediationAI
The upstream fix is available in PR #183 at https://github.com/Tecnativa/docker-socket-proxy/pull/183; no independently confirmed tagged release incorporating this fix has been identified at time of analysis, making this an upstream fix available via PR/commit only. Operators should apply the patched haproxy.cfg from PR #183 manually or monitor https://github.com/Tecnativa/docker-socket-proxy/releases for an official release. As an immediate compensating control, set CONTAINERS=0 to disable namespace-level access entirely and re-enable only what legitimate tooling requires using the new ALLOW_ARCHIVE=0, ALLOW_EXPORT=0, and ALLOW_LOGS=0 granular variables (which default to disabled in the patched configuration). If CONTAINERS access is required for tools such as Portainer or Traefik, restrict network reachability of the proxy's TCP port to only explicitly trusted services using Docker network segmentation or host firewall rules - this reduces AV:A exposure without requiring a code change. Disabling the proxy entirely in favor of direct Unix socket access for trusted processes eliminates the attack surface but removes the access-control benefit the proxy provides.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
docker-socket-proxy (github.com/Tecnativa/docker-socket-proxy) is an HAProxy-based reverse proxy designed to gate access to the Docker Unix socket, exposing a restricted subset of the Docker Engine API over TCP. Administrators use environment variable flags to enable API namespaces. The CONTAINERS flag was intended to permit only container metadata endpoints (list, inspect, stats). CWE-1220 (Insufficient Granularity of Access Control) identifies the root cause: the HAProxy ruleset in haproxy.cfg (v0.5.0, lines 49-61) granted permission at the namespace level without blocking sensitive sub-paths - /archive (filesystem copy-out), /export (full container tar), /logs (stdout/stderr stream), and /top (process list). These endpoints can expose secrets, credentials, and application data stored within container filesystems. The fix in PR #183 introduces granular ALLOW_ARCHIVE, ALLOW_EXPORT, ALLOW_LOGS, ALLOW_PAUSE, and ALLOW_UNPAUSE environment variables with corresponding per-path explicit allow/deny HAProxy ACL rules, and re-scopes CONTAINERS to metadata-only access.
Know when Docker gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Adjacent vector because proxy requires same-network access; PR:N since the proxy gate is the only control and it fails; scope change (S:C) because impact reaches Docker daemon beyond the proxy; high confidentiality, no integrity or availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
docker-socket-proxy fails to properly gate read endpoints in the /containers Docker API namespace when the CONTAINERS environment variable is set. Attackers can use GET requests to /containers/{id}/archive, /containers/{id}/export, /containers/{id}/logs, and /containers/{id}/top to read arbitrary files and download entire container filesystems as tar archives.
Executive ViewAI
docker-socket-proxy (CVSS 8.3) contains an access control flaw allowing unauthenticated adjacent-network attackers to exfiltrate entire container filesystems and sensitive application data when the CONTAINERS environment variable is enabled, posing a direct confidentiality and data breach risk across containerized infrastructure.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) restrict network access via firewall to prevent adjacent-network connectivity; (2) disable CONTAINERS environment variable if operationally feasible; (3) implement additional authentication or reverse proxy controls upstream of the proxy; (4) enable comprehensive API access logging and alerting for suspicious container operation requests; (5) use network segmentation to isolate docker-socket-proxy deployments. Upstream fix referenced in PR #183 may be available in upcoming release-monitor repository for patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
EUVD-2026-64603
GHSA-gxmj-gjp2-h2mv
NVD
CVE.org
EPSS
Exploit-DB