praktor: Path traversal in Telegram upload enables persistent agent instruction injection
Summary
praktor, a multi-agent Claude Code orchestrator with Telegram input, does not sanitize the filename of documents uploaded via Telegram. A remote Telegram user who can message the bot can use parent-directory sequences in the filename to write files outside the uploads directory, into the persistent agent workspace. This allows planting or overwriting files such as CLAUDE.md, which the agent reads in later runs, so an upload can act as stored instruction injection. The default configuration with an empty allow_from list permits all senders, so no authentication is required in that setup.
Affected
- praktor versions before 0.9.1 (CNA: affected < 0.9.1; VulDB states up to 0.9.0)
Fixed in
- Fixed in praktor 0.9.1 (commit c3731eeda01c0b3ec1dbd13cccd5a147c3182141)
- Later releases are available; deploy the latest release
Workaround
- No vendor workaround documented. Upgrading is the only documented remedy.
- Configure an explicit Telegram user allowlist instead of an empty allow_from list.
- Stop or restrict the bot until patched if it accepts documents from unknown users.
Exploitation
- Not known to be exploited in the wild (OffSeq).
- Not listed in CISA KEV according to a third-party tracker; not verified against the CISA catalogue.
- No public proof of concept found in our research; absence in search is not proof.
- CISA SSVC: exploitation none, automatable yes, technical impact partial.
Our recommendation
- Update praktor to 0.9.1 or later, preferably the latest release, wherever it runs.
- Until patched, restrict the Telegram bot to a known allowlist of users.
- Review CLAUDE.md, skill, hook and configuration files in agent workspaces for unexpected changes and restore known-good copies.
- Monitor workspace files for unexpected writes.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Fix commit c3731ee github.com
- Pull request #228 github.com
- Release v0.9.1 github.com
- GitHub Security Advisory GHSA-48v2-6jcm-fc99 github.com
- VulDB entry vuldb.com
- OffSeq threat radar entry radar.offseq.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 14:30.
Original description (NVD)
praktor is a multi-agent Claude Code orchestrator with Telegram input and output, Docker isolation, and a Mission Control UI. Prior to 0.9.1, both Telegram upload sites in `internal/telegram/bot.go` concatenate the attacker-controlled document filename into a destination path without sanitization, and `path.Join` collapses parent-directory traversal. A remote Telegram user who can message the bot can therefore write outside `uploads/` within the persistent agent workspace mounted at `/workspace/agent`. Because `allow_from: []` permits all senders by default, no prior authentication or privilege is required in that configuration. The attacker can plant or overwrite `CLAUDE.md`, instruction, skill, hook, or configuration files that the Claude agent reads and operates on across later runs, turning a document upload into stored instruction injection. The demonstrated arbitrary-write scope is the persistent agent workspace volume, not an unrestricted host-filesystem write. This issue is fixed in version 0.9.1.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
