Description
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.
Published: 2026-10-30
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Stored Instruction Injection via Path Traversal
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises from concatenating an attacker‑controlled document filename into a destination path without sanitization in telegram upload sites. When the filename contains parent‑directory traversal characters, the Go function "path.Join" collapses them, allowing the attacker to write files outside the intended uploads directory. This results in stored instruction injection, as the attacker can overwrite or create configuration files that a Claude agent later reads and executes.

Affected Systems

Versions of praktor prior to 0.9.1, such as 0.9.0 and older, are affected. The product is the multi‑agent Claude orchestrator that provides Telegram‑based input and output, Docker isolation, and a Mission Control UI, with the launch directory at /workspace/agent. All installations that do not have the recent release are vulnerable unless patched.

Risk and Exploitability

The CVSS score of 8.2 indicates a high severity, and the EPSS score is not available while the vulnerability is not listed in CISA's KEV catalog. The vulnerability can be exploited remotely by any Telegram user who can message the bot, as the default configuration allows all senders. No prior authentication or privilege escalation is required, so the attacker can write arbitrary files into the persistent agent workspace, potentially tampering with CLAUDE.md, instruction, skill, hook, or configuration files that the agent later reads. This persistence can lead to a compromise of future agent runs and is therefore a significant threat.

Generated by OpenCVE AI on October 30, 2026 at 20:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to version 0.9.1 or later which removes the unsanitized filename concatenation.
  • Configure "allow_from" to a whitelist of authorized Telegram user IDs, thereby limiting who can use the upload function.
  • Implement filename validation or sanitization logic before path construction to prevent traversal in future code changes.

Generated by OpenCVE AI on October 30, 2026 at 20:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Mtzanidakis
Mtzanidakis praktor
Vendors & Products Mtzanidakis
Mtzanidakis praktor

Fri, 30 Oct 2026 19:15:00 +0000

Type Values Removed Values Added
Description 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.
Title praktor: Telegram upload traversal permits persistent agent instruction injection
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N'}


Subscriptions

Mtzanidakis Praktor
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T19:46:25.082Z

Reserved: 2026-07-13T21:42:50.094Z

Link: CVE-2026-62331

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-30T19:18:33.450

Modified: 2026-10-30T20:17:12.210

Link: CVE-2026-62331

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:48:53Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')