{"id":"CVE-2026-110766","revision":null,"records":[{"revision":"990ad9a64e8748c99b438c37e5de2b8d","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-110766","aliases":[],"title":"Colanode Server through 0.4.7 Path Traversal via Avatar Download Route","description":"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.","state":0,"publishedAt":"2026-10-14T18:47:43.182+00:00","modifiedAt":"2026-10-14T19:38:51.634+00:00","affected":[{"ecosystem":"https://github.com/colanode/colanode","name":"colanode","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"colanode\",\n                    \"product\": \"colanode\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"lessThanOrEqual\": \"0.4.7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ],\n                    \"collectionURL\": \"https://github.com/colanode/colanode\",\n                    \"repo\": \"https://github.com/colanode/colanode\"\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"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","score":5.3,"severity":"MEDIUM"},{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","score":4.3,"severity":"MEDIUM"}],"references":["https://hackmd.io/@hieuPenguinnn/colanode-avatar-download-path-traversal","https://github.com/colanode/colanode/blob/d649523637f0f059c936418488165d4a689da27c/apps/server/src/lib/storage/fs.ts#L38","https://github.com/colanode/colanode/blob/d649523637f0f059c936418488165d4a689da27c/apps/server/src/api/client/routes/avatars/avatar-download.ts#L23","https://github.com/colanode/colanode","https://www.vulncheck.com/advisories/colanode-server-through-0.4.7-path-traversal-via-avatar-download-route"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-110766","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-110766","identifiers":["CVE-2026-110766"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-10T00:04:20.9434546+00:00","complete":true,"records":1773,"lastAttemptAt":"2026-11-10T00:04:20.9434546+00:00","lastSuccessAt":"2026-11-10T00:04:21.6223341+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:21.622335+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-24e6fde7b744113daefb8f6135035fb8a5c69c9617c9c0d40574a0376532ffd3-28cfe0e9a7fd540693c3c003e82e8794f6d50787cb7c9866f49d79161db1199f","complete":true,"records":421738,"lastAttemptAt":"2026-11-10T00:02:15.9105874+00:00","lastSuccessAt":"2026-11-10T00:02:15.7728836+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:02:15.9105874+00:00","snapshotPublishedAt":"2026-11-09T23:23:26+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-f21ab407e4444f2eb5ccf18a8625bcab","complete":false,"records":13689,"lastAttemptAt":"2026-11-10T00:06:51.3243992+00:00","lastSuccessAt":"2026-11-10T00:06:49.7316926+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:06:49.7316926+00:00","snapshotPublishedAt":null,"importing":true,"stagedRecords":1,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-10T00:04:20.9434546+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-10T00:04:20.9434546+00:00","lastSuccessAt":"2026-11-10T00:04:21.6231234+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:21.6231235+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-46931e0d84a04da7b4a608d083ac3d63","complete":false,"records":13695,"lastAttemptAt":"2026-11-10T00:04:49.7283608+00:00","lastSuccessAt":"2026-11-10T00:04:49.725+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:49.725+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13704,"expectedIdentifiers":13742,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-cdffb4589856378aa42e8d1bd4a6c74e27a180d8160bf764c44715ef760f0a62","complete":true,"records":9932,"lastAttemptAt":"2026-11-10T00:04:20.2100924+00:00","lastSuccessAt":"2026-11-10T00:04:19.8260565+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:20.2100924+00:00","snapshotPublishedAt":"2026-11-09T23:48:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-26503967ae4379db8f374089589d6e03fb15bd31f820c9e992aaf93840c2236c","complete":true,"records":1971,"lastAttemptAt":"2026-11-10T00:02:15.9827084+00:00","lastSuccessAt":"2026-11-09T21:02:20.472473+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:02:15.9827084+00:00","snapshotPublishedAt":"2026-11-09T20:18:18+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-761ecc9061239b0da572dc9254c6f384c1d19339eb08408c436647a2f26129e9","complete":true,"records":3064,"lastAttemptAt":"2026-11-10T00:04:20.8155249+00:00","lastSuccessAt":"2026-11-09T17:05:03.4044794+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:20.8155249+00:00","snapshotPublishedAt":"2026-11-09T16:33:20+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-0238b66eb8569b8ca6bfb00e5ba7ca79562b7b754d90d8771d19caf3b72b4f1c","complete":true,"records":231580,"lastAttemptAt":"2026-11-10T00:04:10.424408+00:00","lastSuccessAt":"2026-11-10T00:04:09.9885069+00:00","error":null,"lastVerifiedAt":"2026-11-10T00:04:10.424408+00:00","snapshotPublishedAt":"2026-11-09T23:48:05+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}