CVE-2026-62331: praktor: Path traversal in Telegram file uploads allows writing outside the agent workspace uploads/ directory (stored instruction injection)
A remote Telegram user can write files to arbitrary paths inside an agent’s persistent workspace volume (praktor-wk-<workspace>, mounted at /workspace/agent), escaping the documented uploads/ directory.
The attacker controls the Telegram document filename, which was concatenated into the destination path without sanitization (internal/telegram/bot.go, at both upload sites) and resolved with path.Join, which collapses ../ sequences. A filename like ../../../CLAUDE.md resolved to the root of the agent workspace volume, outside uploads/.
Because the agent workspace is the persistent working directory the Claude agent reads from and operates on across runs, writing outside uploads/ lets an attacker plant or overwrite files the agent later consumes — e.g. CLAUDE.md, agent instruction/skill/hook files, or other config under /workspace/agent. This turns a file upload into a stored injection into the agent’s instruction/execution surface (CWE-22 path traversal escalating to stored instruction injection).
References
- github.com/advisories/GHSA-48v2-6jcm-fc99
- github.com/mtzanidakis/praktor/commit/c3731eeda01c0b3ec1dbd13cccd5a147c3182141
- github.com/mtzanidakis/praktor/pull/228
- github.com/mtzanidakis/praktor/releases/tag/v0.9.1
- github.com/mtzanidakis/praktor/security/advisories/GHSA-48v2-6jcm-fc99
- nvd.nist.gov/vuln/detail/CVE-2026-62331
Code Behaviors & Features
Detect and mitigate CVE-2026-62331 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →