Skip to main content

claude-sesh CVE-2026-19327

| EUVDEUVD-2026-54858 LOW
Path Traversal (CWE-22)
2026-08-09 VulDB GHSA-rm8c-j3vq-fv9j
1.9
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
1.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.3 MEDIUM

Local access and low privileges required to invoke the function; no scope change; file read/write impact bounded by process user permissions.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

4
Source Code Evidence Fetched
Aug 09, 2026 - 03:27 vuln.today
Analysis Generated
Aug 09, 2026 - 03:27 vuln.today
Severity Changed
Aug 09, 2026 - 03:22 NVD
MEDIUM LOW
CVSS changed
Aug 09, 2026 - 03:22 NVD
4.8 (MEDIUM) 1.9 (LOW)

DescriptionCVE.org

A flaw has been found in abracadabra50 claude-sesh 1.0.0. This issue affects the function getEnrichedData/enrichSession of the file src/services/enricher.ts. Executing a manipulation of the argument sessionId can lead to path traversal. The attack needs to be launched locally. This patch is called 786c9d74800e6d0858b65778f31beb71b3983a50. Applying a patch is advised to resolve this issue.

AnalysisAI

Path traversal in claude-sesh 1.0.0 allows a local attacker with low privileges to escape the intended enrichment directory by supplying a crafted sessionId containing directory traversal sequences to the getEnrichedData or enrichSession functions in src/services/enricher.ts. The unvalidated sessionId is passed directly to path.join(), permitting reads and writes to arbitrary files accessible by the process user account. A proof-of-concept is indicated by the E:P threat metric in the provided CVSS 4.0 vector; no active exploitation or CISA KEV listing is confirmed.

Technical ContextAI

claude-sesh (CPE: cpe:2.3:a:abracadabra50:claude-sesh:*:*:*:*:*:*:*:*) is a TypeScript/Node.js session enrichment tool for Claude Code, previously using the Hono web framework (removed in the patching commit). The enricher service stores JSON blobs in a designated ENRICHED_DIR and constructed file paths via path.join(ENRICHED_DIR, ${sessionId}.json) without any sanitization. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) applies directly: Node.js path.join() does not strip traversal sequences, so a sessionId of '../../etc/shadow' resolves cleanly outside ENRICHED_DIR. The patch introduces a SAFE_SESSION_ID allowlist regex (/^[A-Za-z0-9_-]+$/) and a secondary path.resolve() plus dirname comparison in a new enrichedPathFor() helper, replacing all three raw path.join() call sites in the file.

RemediationAI

Apply the upstream fix via commit 786c9d74800e6d0858b65778f31beb71b3983a50, available at https://github.com/abracadabra50/claude-sesh/commit/786c9d74800e6d0858b65778f31beb71b3983a50. The commit replaces all raw path.join() calls in src/services/enricher.ts with the new enrichedPathFor() helper, which enforces an alphanumeric-plus-hyphen allowlist and a path.resolve() boundary check. Note that no tagged release version incorporating this fix has been independently confirmed - the fix exists as a commit only, so users should pin to or cherry-pick this commit directly. As a compensating control prior to patching, restrict OS-level permissions on ENRICHED_DIR so the Node.js process user cannot read or write to sensitive paths outside it, and limit local shell access to the host running claude-sesh to trusted operators only. Disabling or firewalling whatever local interface exposes the enrichSession endpoint is also advisable if operationally feasible, with the trade-off of disabling session enrichment functionality.

Share

CVE-2026-19327 vulnerability details – vuln.today

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