criticalCVSS 9.4Vulnerability

CVE-2026-52830

## Summary fast-mcp-telegram validates HTTP Bearer tokens by joining the raw token string into a session-file path. The verifier rejects the exact reserved token `telegram`, but it does not reject path separators or normalize the path before checking whether the session file exists. A remote HTTP client can therefore authenticate as the default legacy session with a token such as `../fast-mcp-telegram/telegram` when the documented default session file `~/.config/fast-mcp-telegram/telegram.session` exists. This bypasses the reserved session name control that is intended to prevent HTTP multi-user sessions from colliding with the default stdio or legacy account. With account-prefixed MCP tools enabled, the attacker still sees and calls the prefixed tools for the default account, so the prefix middleware does not stop the session selection bypass. ## Impact An unauthenticated network client can access the Telegram account represented by the default `telegram.session` file without knowing a generated bearer token, if that legacy or default session file is present on a server running HTTP auth. The attacker can then call Telegram MCP tools as that account, including message reading, message sending, MTProto API calls, and attachment-producing tool surfaces available to the session. ## Technical details `SessionFileTokenVerifier.verify_token()` strips whitespace and rejects exact reserved names: ```python if token.lower() in RESERVED_SESSION_NAMES: return None ``` It then appends `.session` to the raw token and checks the resulting path: ```python session_path = self._session_directory / f"{token}.session" if not session_path.is_file(): return None ``` No check rejects `/`, `\\`, `..`, absolute paths, or resolved paths outside the configured session directory. The session client path is built the same way in `src/client/connection.py`: ```python session_path = SESSION_DIR / f"{token}.session" client = await _build_telegram_client_for_token(session_path,

Properties

severity
critical
summary
fast-mcp-telegram: Bearer token path traversal bypasses reserved Telegram session protection
epss_score
0.00545
cvss_score
9.4
ghsa_published
2026-07-02T20:38:50Z
source_url
https://github.com/advisories/GHSA-rxw2-pc8j-vxwm
ghsa_updated
2026-07-02T20:38:51Z
ghsa_id
GHSA-rxw2-pc8j-vxwm
cve_id
CVE-2026-52830
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
is_ghsa_only
false
epss_percentile
0.43174

Related Entities (6)

ENRICHED_BY (1)

[Source]FIRST EPSS

VULNERABLE_TO (1)

[Software]pip/fast-mcp-telegram

AFFECTS (1)

[Software]pip/fast-mcp-telegram

HAS_WEAKNESS (2)

[Weakness]Improper Authentication
[Weakness]Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-52830 (CVSS 9.4) — Ninja Signal Threat Intelligence | Ninja Signal