Summary
CVE-2026-61891 is an unauthenticated arbitrary file read (path traversal / missing authentication) vulnerability in Eclipse Theia. In browser-based deployments, HTTP file-download endpoints exposed by the @theia/filesystem backend convert a client-supplied URI directly to a filesystem path and stream the file without confining it to the workspace or enforcing the connection token. It is rated High severity (CVSS 7.5).
Technical details
- Root cause: Two HTTP file-download endpoints (
GET /fileinfile-download-endpoint.tsand the/files/handler infile-download-handler.ts) convert a client-controlled URI directly into a filesystem path and stream the file without validating that the path stays within the workspace roots (CWE-22, CWE-36). - Contributing flaw: In browser (non-Electron) deployments the connection token is enforced only on WebSocket upgrades; the HTTP middleware in
@theia/corere-issues the cookie and callsnext()without rejecting tokenless HTTP requests, leaving these endpoints reachable without a valid token (CWE-306). - Trigger conditions: A browser-mode Theia backend reachable over the network; no authentication or user interaction required.
- Attack vector: Network (remote, unauthenticated HTTP requests).
- Impact: An attacker can read any file readable by the backend process, including files outside the opened workspace such as
/etc/hosts, SSH keys, and tokens — resulting in disclosure of sensitive information (CWE-200).
Affected software
- Eclipse Theia — all versions before 1.74.0 (browser/non-Electron deployments).
- Not affected: Electron desktop deployments, which use a separate security token.
Severity
- CVSS v3.1 Base Score: 7.5 (High)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Upgrade to Eclipse Theia 1.74.0 or later.
- If no patch can be applied: Restrict network access to the Theia backend (e.g., place it behind an authenticating reverse proxy, VPN, or firewall) so the HTTP file-download endpoints are not reachable by untrusted clients. Note that excluding the
@theia/filesystempackage does not remove endpoint exposure at runtime.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw HTTP response body:
id="theia-app",window.theia - URL of a loaded script:
theia-<hex>.js

