Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Colanode workspace account
-
ExploitCraft percent-encoded ../ in avatarId
-
ExecutionSend GET /client/v1/avatars/:avatarId
-
ImpactRead cross-workspace .jpeg files
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 account on the Colanode server (PR:L) and a multi-workspace/multi-tenant deployment for cross-workspace data to exist. The attacker sends a percent-encoded ../ traversal sequence in the avatarId parameter of GET /client/v1/avatars/:avatarId to escape the avatars storage directory. Exploitation is LIMITED to reading files with a .jpeg extension, so it cannot retrieve arbitrary configuration or credential files; no user interaction is needed, but authentication is mandatory and the attacker benefits from knowing or guessing relative paths to target workspaces' image assets. |
| Impact | This is a moderate, constrained information-disclosure issue rather than a top-tier priority. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) is internally consistent with the description: network-reachable, low-complexity, but requiring authentication (PR:L) and yielding only low confidentiality impact with no integrity or availability impact. No EPSS score was provided, the CVE is not listed in CISA KEV, and no weaponized public exploit is identified in the structured input - so there is no public exploit identified at time of analysis, though a third-party technical write-up (hackmd) and a VulnCheck advisory with source-code line references exist, which materially lowers the bar for an attacker to reproduce it. The real-world ceiling is low: an authenticated user can read only .jpeg files belonging to other workspaces, so the practical impact is leakage of avatar/image assets across tenant boundaries, not full file-system compromise. Signals are consistent (no conflicts between CVSS, description, and exploitation status); the main missing data are EPSS and any vendor-confirmed fixed version. |
| Exploit ScenarioDerived | An authenticated low-privilege user of a multi-tenant Colanode server crafts a percent-encoded ../ traversal sequence in the avatarId path parameter and issues GET /client/v1/avatars/:avatarId, escaping the avatars directory to read .jpeg files stored for other workspaces. No public weaponized exploit is identified, but a detailed technical write-up and advisory with the vulnerable source lines (avatar-download.ts, fs.ts) are published, making reproduction straightforward. Because CVSS is AC:L with network attack vector, exploitation is trivial once a valid account exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Authenticated path traversal in the Colanode server (versions through 0.4.7) allows any user holding a valid account to read .jpeg image files outside their own workspace by injecting a percent-encoded ../ sequence into the avatarId parameter of GET /client/v1/avatars/:avatarId. The impact is deliberately narrow: only files with a .jpeg extension can be retrieved, so configuration files, keys, or credentials are not exposed, and meaningful cross-tenant exposure requires a multi-workspace deployment plus knowledge or guessing of the target's relative path. There is no CISA KEV listing and no confirmed public exploit code, although the disclosure is accompanied by a public technical writeup (hackmd.io/@hieuPenguinnn/colanode-avatar-download-path-traversal) describing the traversal; CVSS 4.0 scores it 5.3 with VC:L, and the independent assessment scores it CVSS:3.1 5.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), framing it as a moderate, constrained information-disclosure issue rather than a top-tier priority.
RemediationAI
No vendor-released patch version is confirmed in the available data; the referenced links point to the affected source files and a third-party advisory rather than to a tagged fixed release, so treat patch status as unverified and track the upstream repository (https://github.com/colanode/colanode) and the VulnCheck advisory (https://www.vulncheck.com/advisories/colanode-server-through-0.4.7-path-traversal-via-avatar-download-route) for a confirmed fix, then upgrade as soon as one is published. Until then, the primary compensating control is to reject or normalize traversal input at the edge: block requests to /client/v1/avatars/ whose avatarId contains percent-encoded or literal dot-dot sequences (for example %2e%2e, %2F, ..%2f) at the reverse proxy - this is low risk but must be written to survive double-encoding or the filter is trivially bypassed. Deploy each workspace with an OS-level isolated storage directory and file ownership so that the Colanode process running one workspace's requests cannot read another workspace's files; the trade-off is extra operational complexity and per-tenant provisioning. Where avatars are not required, disable the avatar download route entirely (the trade-off is loss of avatar rendering in the client). If avatar serving is needed, the robust fix is in code: canonicalize the resolved path with realpath and verify it is contained within the configured avatars root before reading, and never rely on the .jpeg extension check as a containment boundary. Because the flaw requires a valid account (PR:L), limiting who can register or be provisioned on the server reduces the attacker pool but does not eliminate risk from legitimate low-privilege users; no integrity or availability impact is expected, so recovery actions are limited to reviewing server storage logs for out-of-directory avatar reads where such logging exists.
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
The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal) in the Colanode server's avatar download handler. Colanode is a TypeScript/Node.js collaborative workspace server that stores uploaded avatar images on the local filesystem through an abstraction implemented in apps/server/src/lib/storage/fs.ts; the download route in apps/server/src/api/client/routes/avatars/avatar-download.ts takes the avatarId path segment and resolves it against the avatars storage directory. Because the percent-encoded traversal sequence is decoded and concatenated without canonicalizing the final path (or without verifying that the resolved path remains inside the avatars root), the concatenation escapes the intended directory and the filesystem backend returns whatever file the resulting path points to. The route's extension restriction constrains the primitive to .jpeg files, which is why the CVSS vectors (4.0: AV:N/AC:L/AT:N/PR:L/UI:N/VC:L; independent 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) record low confidentiality impact only, no integrity or availability impact, no scope change, and a low-privilege prerequisite (PR:L) matching the authenticated-account requirement. The vulnerability class is well understood: any user-controlled identifier used to build a filesystem path needs normalization plus a realpath containment check, and relying on extension filtering alone is not a containment control.
Know when the next one hits your stack
- 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:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable low-complexity traversal needing an authenticated account (PR:L), unchanged scope, and only limited .jpeg read access (C:L), with no integrity or availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
Colanode server through 0.4.7 contains a path traversal vulnerability that allows authenticated users to read arbitrary .jpeg files by supplying an encoded traversal sequence in avatarId. Attackers can send percent-encoded ../ sequences to GET /client/v1/avatars/:avatarId to escape the avatars directory and read .jpeg files belonging to other workspaces.
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-101566
GHSA-wq2v-xq4c-mvch
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB