Skip to main content

Dockge EUVDEUVD-2026-63588

| CVE-2026-73040 HIGH
Path Traversal (CWE-22)
2026-08-20 VulnCheck GHSA-r5ph-2fqc-qvf3
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Dockge WebSocket interface
  2. Delivery
    Craft stack operation request with traversal name (e.g. ../../../opt/targetapp)
  3. Exploit
    Stack.getStack resolves path outside managed stacks directory
  4. Execution
    Read returned composeENV or composeYAML to extract secrets
  5. Impact
    Optionally invoke delete to trigger docker compose down then recursive forced directory removal

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

By default, exploitation requires a valid Dockge account (consistent with PR:L in the CVSS 4.0 vector) and network access to the Dockge WebSocket port; no elevated Dockge role beyond normal login is needed. Deployments with the disableAuth option enabled automatically authenticate incoming WebSocket connections as admin, fully removing the authentication prerequisite and enabling unauthenticated exploitation. The deletion primitive additionally requires the traversed target directory to contain a Compose file recognized by docker compose, because the delete path runs docker compose down first and proceeds to the recursive fsAsync.rm call only on success. Read disclosure is scoped to files named .env or matching accepted Compose filenames - arbitrary file reads are not possible. The Dockge server process must have filesystem read access (for disclosure) or write access (for deletion) to the target directory; since Dockge commonly runs as root, this condition is met for virtually all paths on the host.

Impact

The CVSS 4.0 base score of 8.7 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) accurately reflects the default-configuration risk: low-complexity network exploitation requiring only a valid account. The provided vector lists subsequent-system impact as SC:N/SI:N/SA:N, but the description explicitly states that unrelated applications on the host are reachable, meaning the true blast radius extends well beyond Dockge's own managed directory - even a mid-sized municipal IT team in inowroclaw running multiple containerized services on a shared host would face cross-application secret disclosure and potential permanent service destruction, not just Dockge-scope impact. The documented disableAuth option, which automatically authenticates callers as admin, collapses the PR:L requirement to unauthenticated access, effectively elevating affected deployments to critical severity; this condition must be checked as an immediate priority. No CISA KEV listing and no public POC are present in the provided data, which moderates immediate urgency, but the traversal mechanism requires only a simple string manipulation and would be straightforward for any attacker with access to the WebSocket interface. EPSS data was not included in the available intelligence, so no probabilistic exploitation estimate can be cited.

Exploit ScenarioDerived

An authenticated Dockge user sends a WebSocket message invoking a stack read or delete operation with a crafted name such as ../../../opt/otherapp. The server resolves this to /opt/otherapp outside the stacks directory and returns the contents of that directory's .env or Compose file, exposing database credentials or API keys. If the target directory contains a valid Compose file, the attacker can additionally trigger docker compose down followed by a recursive forced removal of the directory, permanently destroying that application's data. No public POC has been identified at time of analysis, but the traversal requires only a string manipulation in the WebSocket request body.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 20, 2026

Path traversal in Dockge's stack name handling allows authenticated users to exfiltrate secrets from .env and Compose files belonging to any directory the server process can reach, and to recursively delete those directories. The flaw exists because validate() - which enforces a strict name allowlist - is only called from the save() code path; the socket handlers that service read and delete operations pass the raw user-supplied name directly to Stack.getStack without sanitization. Because Dockge routinely runs as root with access to the Docker socket, the reachable set encompasses the full host filesystem, not just managed stacks. No public exploit has been identified at time of analysis and no CISA KEV listing exists, but the bypass is mechanically trivial for any authenticated user.

RemediationAI

No vendor-released patch has been identified at time of analysis; the VulnCheck advisory at https://www.vulncheck.com/advisories/dockge-path-traversal-via-unvalidated-stack-name-allows-arbitrary-compose-and-env-disclosure-and-arbitrary-directory-deletion and the upstream GitHub issue at https://github.com/louislam/dockge/issues/994 should be monitored for a fixed release. As an immediate compensating control, disable the disableAuth option if it is enabled - this re-introduces the authentication gate, eliminating unauthenticated exposure, though any authenticated user remains capable of exploitation. Restrict network access to the Dockge WebSocket port to trusted networks or users via firewall rules or a reverse-proxy authentication layer, accepting that this does not protect against a compromised or malicious legitimate account. Where operationally feasible, run the Dockge process as a non-root user scoped to a dedicated Docker socket rather than the host socket; this substantially limits which host directories are reachable for both disclosure and deletion, at the cost of requiring Dockge service reconfiguration and validation against managed stacks.

Affected VersionsENISA

dockge 0 ≤1.5.0

Affected Packages

euvd dockge no fix

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

Dockge is a self-hosted Docker Compose stack manager written in TypeScript running on Node.js. Its backend/stack.ts exposes a validate() method that enforces the allowlist regex ^[a-z0-9_-]+$ on the stack name, but this method is wired only to the save() write path. The path getter concatenates this.server.stacksDir with this.name via path.join, and the static Stack.getStack factory likewise calls path.join(server.stacksDir, stackName) - neither site calls validate() or performs independent sanitization. The WebSocket socket handlers in backend/agent-socket-handlers/docker-socket-handler.ts (lines 43-78) confirm the caller is logged in and that the name is a JavaScript string, then forward it directly to Stack.getStack. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) precisely describes the root cause: the allowlist exists in the codebase but is not enforced at the resolution sites used by destructive operations. CPE cpe:2.3:a:louislam:dockge:*:*:*:*:*:*:*:* carries a wildcard version, indicating all tracked releases are considered affected.

Know when Dockge 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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.9 CRITICAL

Network-accessible via WebSocket requiring only user-level auth; scope changes because other host applications' secrets and directories are read and destroyed beyond Dockge's own component.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Dockge validates a stack name only on the write path. In backend/stack.ts the allow-list check in validate(), which requires the name to match ^[a-z0-9_-]+$, is reached from save() alone, while the path getter returns path.join(this.server.stacksDir, this.name) and Stack.getStack builds path.join(server.stacksDir, stackName) with no check. The socket handlers in backend/agent-socket-handlers/docker-socket-handler.ts confirm the caller is logged in and that the name is a string, then pass it straight to Stack.getStack, so a name containing traversal sequences resolves outside the managed stacks directory. An authenticated user can therefore read the composeENV and composeYAML values of any directory the server process can reach, which discloses the secrets in that directory's .env or Compose file, and can invoke delete(), which runs docker compose down and then fsAsync.rm on the traversed path with recursive and force set, removing that directory. Disclosure is limited to files named .env or an accepted Compose filename, and deletion requires the target directory to hold a valid Compose file so that docker compose down exits successfully. Dockge commonly runs as root with access to the Docker socket, so the reachable set includes unrelated applications on the host. Instances configured with disableAuth, a supported option that logs the caller in as admin automatically, expose both operations without authentication.

Executive ViewAI

Why It Matters

Dockge, a Docker container management platform, contains an authenticated path traversal vulnerability (CVSS 8.7) that allows authorized users to access and exfiltrate secrets from any location the server process can reach, including .env files and Docker Compose configurations. Because Dockge typically runs with root privileges, this vulnerability effectively grants complete filesystem access to any authenticated attacker, creating significant risk for credential compromise and operational disruption.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict Dockge authentication to trusted administrators only; (2) Implement filesystem-level permissions to limit sensitive directory access; (3) Deploy secrets external to .env files using dedicated secrets management systems; (4) Network segmentation to isolate Dockge instances; (5) Continuous monitoring and logging of Dockge access and file operations for detection of exploitation attempts.

Threat Intelligence Overview

EPSS Score
0.7%
Top 51% exploitable
Prevalence
Low
self-hosted homelab and small-team Docker manager, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy