Skip to main content

Dockhand EUVDEUVD-2026-115870

| CVE-2026-121448 HIGH
Path Traversal (CWE-22)
2026-11-03 VulnCheck GHSA-9vvm-xvr2-mhx6
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 Dockhand
  2. Delivery
    Send %252e%252e in stack env/raw route
  3. Exploit
    Double-decode bypasses path containment
  4. Execution
    Read/overwrite/delete arbitrary .env files
  5. Impact
    Disclose cross-env secrets or poison deployment variables

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

Requires a valid authenticated Dockhand session - unauthenticated requests return 401 and are not exploitable. The attacker must send a double-URL-encoded traversal sequence (e.g. %252e%252e, which SvelteKit decodes once and the route's extra decodeURIComponent decodes again to '..') as the stack name to the stack-environment routes GET/PUT /api/stacks/[name]/env/raw (and ~18 sibling routes: env, deploy, down, start, stop, restart, validate, deploys, auto-update/[containerName]). An empty/whitespace content body on PUT triggers the delete (rmSync) primitive. No non-default configuration is needed - the flaw affects default deployments of both Community and Enterprise editions. Limiting factors: in Community Edition every authenticated user is already admin so the privilege boundary crossed is mainly the fs-guard filesystem invariant; the cross-tenant impact applies specifically to Enterprise RBAC multi-environment tenancy, where the env query parameter is trusted and lets a user scoped to one environment reach another's .env files.

Impact

Severity signals are moderately high but qualified by an authentication requirement. The supplied CVSS 4.0 base score is 8.7 with AV:N/AC:L/AT:N/PR:L/UI:N and VC:H/VI:H/VA:L - network-reachable, low complexity, but PR:L means a valid authenticated session is mandatory (the advisory confirms unauthenticated requests are correctly rejected with 401). No EPSS score was provided and the CVE is not listed in CISA KEV, so there is no evidence of active exploitation - do not treat this as in-the-wild. However, the vuln.today decision label is 'this_week' and a detailed, runtime-verified proof-of-concept is published in the GHSA advisory, so this is a genuine, near-term patching priority rather than a high-CVSS-but-theoretical issue. A key nuance: in the Community Edition every authenticated user already holds admin, so the marginal privilege gain there is small; the real impact teeth are in Enterprise RBAC tenancy (the environment-scoping gate is bypassed, enabling cross-tenant secret disclosure) and in violating the documented fs-guard invariant on /app/data/db - but the advisory notes only the CE image was runtime-verified while the Enterprise RBAC layer was assessed from the shared public source tree, so cross-tenant impact is confirmed at code level but not runtime-demonstrated.

Exploit ScenarioDerived

An authenticated Dockhand user sends a PUT to /api/stacks/%252e%252e/env/raw; the server double-decodes the name to '..' and writes or reads an .env file outside the managed stacks root, including the fs-guard-protected /app/data/db directory. The attacker reads another environment's .env to steal database credentials and API keys, or poisons a stack's .env so the next normal deployment interpolates an attacker-controlled value into a running container. A verified public proof-of-concept with working curl reproduction is published in the GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 03, 2026

Authenticated path traversal in Dockhand before 1.0.54 lets any logged-in user read, overwrite, and delete .env files outside the managed stacks root by supplying a double-URL-encoded stack name such as %252e%252e to /api/stacks/[name]/env/raw and roughly eighteen sibling stack routes. Because stack environment files carry database credentials, API keys, and deployment secrets, the flaw exposes cross-environment secrets, permits writes into otherwise guarded directories such as /app/data/db, and enables deploy-time variable poisoning that is interpolated into the next container's environment; unauthenticated requests are rejected with 401, and the cross-tenant dimension is specific to Enterprise RBAC deployments where the trusted env query parameter lets a user scoped to one environment reach another's files. No confirmed active exploitation (CISA KEV) is recorded, but the vendor advisory publishes a public proof-of-concept with captured reproduction output against the official fnsys/dockhand v1.0.53 image; the vendor-released patch is 1.0.54 and the priority signal places remediation in the current week rather than as an emergency.

RemediationAI

Vendor-released patch: upgrade Dockhand to 1.0.54, which removes the redundant second decodeURIComponent on the stack routes (matching the fix already applied to DELETE) and applies path containment before filesystem operations; no vendor workaround is offered, so updating is the only complete fix. Until the upgrade is deployed, reduce exposure by restricting the Dockhand API to trusted networks or an authenticating reverse proxy and by minimizing the number of accounts that can reach /api/stacks/* (in Community Edition every authenticated user is admin, so account reduction is the only lever there, at the cost of operational convenience; in Enterprise RBAC, review environment scoping knowing the env query parameter is trusted). Audit stack .env files and the fs-guard-protected /app/data/db directory for unexpected content or missing files, and re-check container environments for values that were not set by operators, since a poisoned .env is consumed silently by the next normal deploy. These are compensating controls only and do not close the traversal primitive.

Affected VersionsENISA

dockhand 0 <1.0.54

Affected Packages

euvd dockhand fix: 1.0.54

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

Dockhand is a SvelteKit application that manages Docker Compose stacks, joining a caller-supplied stack name into filesystem paths inside findStackDir(). SvelteKit already decodes route parameters once, but the environment routes call decodeURIComponent(params.name) a second time, so a %252e%252e payload reaches findStackDir() as '..' and the subsequent join(stacksDir, stackName) has no containment check - the classic CWE-22 root cause, made exploitable by double decoding rather than by the join alone. The codebase already documents and fixes this exact bug class on the stack DELETE route, and removeStack() validates names against /^[a-z0-9][a-z0-9_-]*$/ before path use; a validateStackPath() helper and write-side guards (isPathContained, assertNoTraversal) also exist in the upload paths but are never invoked on the environment and sibling routes (env, env/raw, deploy, down, start, stop, restart, validate, deploys, auto-update/[containerName]). The PUT handler's empty-content branch calls rmSync, giving the read primitive a matching delete primitive, and an Enterprise-only gate, auth.canAccessEnvironment(envIdNum), trusts a caller-supplied env query parameter, so environment scoping can be crossed. The trigger - double-encoded traversal name against the env/raw route - is confirmed by captured output on a running v1.0.53 instance (HEAD a08843a).

Know when Dockhand 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:L/SC:N/SI:N/SA:N
vuln.today AI 8.3 HIGH

Network route with low complexity but a mandatory authenticated session (PR:L); .env read gives C:H, overwrite/poison gives I:H, and the arbitrary-file delete primitive gives A:L.

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

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
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 16:17 EUVD
CVE Published
Nov 03, 2026 - 14:28 cve.org
HIGH 8.7

DescriptionCVE.org

Dockhand before 1.0.54 contains a path traversal vulnerability that allows authenticated users to read, overwrite, and delete .env files outside the stacks root by double-encoding the stack name. Attackers can send %252e%252e sequences to /api/stacks/[name]/env/raw to disclose cross-environment secrets, write into protected directories, or poison deployment variables.

Technical POC Analysis

CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-121448 in Dockhand (versions before 1.0.54) allows any authenticated user to access, modify, or delete secrets and configuration files outside their permitted stacks, exposing credentials and enabling deployment poisoning. This impacts all Dockhand users, particularly Enterprise deployments where cross-tenant isolation is critical, and could lead to widespread credential compromise and unauthorized access to sensitive databases and services.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting API access to trusted networks, disabling or blocking the affected endpoints, implementing strict input validation and normalization, and monitoring for suspicious file access patterns; also rotate secrets stored in .env files as a precaution.

Threat Intelligence Overview

Prevalence
Low
niche self-hosted Docker stack manager, limited enterprise footprint
Social Media
2
Sightings
Data Quality
4 sources
Confidence: Medium

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 N/A
Patch available Yes
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
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