Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed cloudcmd instance
-
DeliverySend crafted GET /api/v1/pack with encoded traversal
-
ExploitonGET invokes unguarded root()
-
ExecutionServer archives arbitrary files to tar.gz
-
ImpactDownload and exfiltrate sensitive files
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Relative path traversal prevention
|
| Exploitation Conditions | Exploitation targets the GET /api/v1/pack endpoint whose onGET handler (server/rest/index.js:130) calls the unguarded root() function rather than the root.resolve() validation wrapper used on other endpoints, so no special configuration beyond a running Cloud Commander instance with its default REST API enabled is required; the attacker simply supplies percent-encoded traversal sequences in the pack request path. Limiting factors: the attacker needs network reachability to the cloudcmd HTTP service (many deployments bind to localhost or sit behind a reverse proxy), and if the operator has enabled Cloud Commander's optional authentication, that would gate access even though the CVSS vector assumes PR:N. Impact is confined to reading files the server process can access outside --root; there is no write or code-execution primitive. |
| Impact | All signals point to a genuine, readily exploitable confidentiality breach, though real-world priority is tempered by the product's limited footprint. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N, 8.7 High) describes a fully remote, unauthenticated, low-complexity attack with no user interaction that yields high confidentiality impact but no integrity or availability impact - consistent with arbitrary file read via path traversal (CWE-23). A publicly available exploit code exists (a proof-of-concept gist is referenced), which raises practical exploitability, but this CVE is NOT in CISA KEV and no EPSS score was provided, so there is no evidence of active or widespread exploitation at time of analysis. The combination of trivial exploitation (percent-encoded traversal in a single GET request) plus a public POC makes opportunistic scanning plausible, yet the absence of KEV/EPSS signals and the niche nature of Cloud Commander suggest this is a real but moderate priority rather than an emergency. Note the vendor confirms a fix (v19.21.2) and the root cause is precisely documented (onGET calls unguarded root() instead of root.resolve()), so remediation is clear-cut. |
| Exploit ScenarioDerived | A remote attacker locates an internet-reachable Cloud Commander instance (versions 19.20.2-19.21.1) and sends a GET /api/v1/pack request containing percent-encoded directory traversal sequences in the path. Because the onGET handler calls the unguarded root() function, the server archives files outside the configured --root directory and streams them back as a tar.gz, letting the attacker exfiltrate /etc/passwd, SSH private keys, or application secrets. A public proof-of-concept gist demonstrating this exists, lowering the barrier to exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Cloud Commander (cloudcmd) versions 19.20.2 through 19.21.1 expose a path traversal flaw in the GET /api/v1/pack endpoint that lets unauthenticated remote attackers read arbitrary files outside the configured --root directory, with the stolen content returned as a downloadable tar.gz archive. The root cause is a handler that calls the unguarded root() helper at server/rest/index.js:130 instead of the root.resolve() validation wrapper used on other endpoints, so percent-encoded traversal sequences in the pack path escape the intended document root and reach files such as /etc/passwd or SSH private keys. Impact is confidentiality-only (no write or code-execution primitive), and no public exploit identified at time of analysis, though a vendor patch (v19.21.2) and a public technical write-up are available; exploitation requires network reachability to the cloudcmd HTTP service, which many deployments gate behind localhost binding, a reverse proxy, or optional authentication.
RemediationAI
Vendor-released patch: upgrade Cloud Commander to v19.21.2 or later (npm package coderaiser/cloudcmd), which restores the root.resolve() confinement in the pack handler per commit 91c024591f425e26200884d5e1d5ba972377968b and the release notes at https://github.com/coderaiser/cloudcmd/releases/tag/v19.21.2; if a direct upgrade is blocked, deploy the commit as a hotfix build and treat the vulnerable instance as compromised for credential-rotation purposes. Where patching must be deferred, the most effective compensating control is to disable or block the REST API entirely (or at least the /api/v1/pack route) at the reverse proxy, at the cost of losing the browser's archive/download feature set; binding the service to 127.0.0.1 or placing it behind an authenticating reverse proxy removes remote reachability but does nothing against local users on the same host and adds a network dependency for legitimate clients. Enabling Cloud Commander's optional authentication raises the bar for remote attackers, though the assessed CVSS vector assumes PR:N, so it should be treated as defense in depth rather than a fix. Because the flaw permits reading any file readable by the Node.js process, run cloudcmd as a dedicated low-privilege account with a locked-down --root, rotate any secrets (including SSH keys and /etc/passwd-adjacent credential material) that were exposed to an untrusted network while unpatched, and review access logs for percent-encoded traversal sequences hitting /api/v1/pack as an exploitation indicator.
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
Cloud Commander is a Node.js web-based file manager that exposes a browser UI plus a REST API for filesystem operations; the affected endpoint is GET /api/v1/pack, which archives requested paths into a tar.gz stream for download. The implementation defines a filesystem-root abstraction, and most handlers wrap user-supplied paths through root.resolve() to normalize and confine them to the operator's --root directory. The vulnerable handler at server/rest/index.js:130 instead invokes the raw root() function, skipping that confinement step, so path input is resolved directly by Node's filesystem layer. This is a classic CWE-23 relative path traversal condition: percent-encoded sequences (e.g. %2e%2e%2f) are decoded after the handler's path handling, so the traversal segments survive into the archive routine and the resulting tar.gz includes files outside --root. Because the packing routine runs with the privileges of the Node.js process, the readable set is whatever the service account can access on the host - system account files, application secrets, and SSH private keys are all in scope. The flaw affects the npm package published under the coderaiser/cloudcmd namespace, tracked as cpe:2.3:a:coderaiser:cloudcmd, with the CVE record scoped to versions 19.20.2 through 19.21.1 inclusive. The vendor fix, tagged v19.21.2 and committed as 91c024591f425e26200884d5e1d5ba972377968b, restores path confinement in the pack handler. The flaw is fixed by sanitizing the path before packing, and it is not a vulnerability in the tar/gzip format itself.
Know when Cloudcmd 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:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Remote single-request traversal needs no auth or interaction (AV:N/AC:L/PR:N/UI:N); only arbitrary file read, so C:H with I:N/A:N and unchanged scope.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cloud Commander (cloudcmd) versions 19.20.2 through 19.21.1 contains a path traversal vulnerability in the GET /api/v1/pack endpoint where the onGET handler at server/rest/index.js:130 calls the unguarded root() function instead of the root.resolve() validation wrapper used elsewhere. Attackers can send percent-encoded directory traversal sequences in the pack request path to read arbitrary files outside the configured --root directory, such as /etc/passwd or SSH private keys, which are archived and streamed back as a downloadable tar.gz file.
Executive ViewAI
Cloud Commander (cloudcmd) versions 19.20.2 through 19.21.1 contain a path traversal flaw that could allow attackers with network access to read arbitrary files from the server, potentially exposing sensitive credentials, configuration data, or private keys. This confidentiality breach could enable further attacks, making it critical for leadership to prioritize remediation. Although no public exploit identified at time of analysis, the vendor has released a patch (v19.21.2) and a public technical write-up is available, increasing the urgency for organizations using these versions.
Apply vendor patch.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
EUVD-2026-101027
GHSA-3rxx-xp85-4r8j
NVD
CVE.org
EPSS
Exploit-DB