Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-exposed unauthenticated endpoint with trivial percent-encoding technique; impact is read-only file disclosure with no integrity or availability effect.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
Lifecycle Timeline
3DescriptionCVE.org
In Eclipse Theia versions 1.66.0 and up until including 1.73.1, the @theia/plugin-ext backend exposes the /hostedPlugin/:pluginId/:path(*) HTTP endpoint, which resolves the requested file path with path.resolve(localPath, filePath) without verifying that the resolved path stays within the plugin's directory. An unauthenticated network attacker can send percent-encoded ../ sequences (%2e%2e%2f) that decode into the path parameter and escape the plugin directory, allowing arbitrary files readable by the Theia backend process to be retrieved. Plugin IDs are derived deterministically from a plugin's publisher and name, so built-in plugins serve as reliable anchors that require no prior knowledge of the target system.
AnalysisAI
Path traversal in Eclipse Theia's plugin-hosting HTTP endpoint (versions 1.66.0 through 1.73.1) enables unauthenticated remote attackers to exfiltrate arbitrary files readable by the Theia backend process by injecting percent-encoded directory traversal sequences. The /hostedPlugin/:pluginId/:path(*) endpoint passes user-supplied path data directly into path.resolve() without subsequently verifying the resolved path stays within the plugin directory boundary. Critically, because plugin IDs are deterministically derived from publisher and plugin name, an attacker can use well-known built-in plugins as traversal anchors without any prior reconnaissance of the target system. No public exploit code or CISA KEV listing has been identified at time of analysis.
Technical ContextAI
Eclipse Theia is an open-source cloud and desktop IDE framework built on Node.js. Its @theia/plugin-ext package exposes a static file-serving endpoint at /hostedPlugin/:pluginId/:path(*) designed to serve assets from locally hosted plugin directories. The root cause is a textbook CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): the code calls path.resolve(localPath, filePath) to construct the absolute target path but never checks that the resolved result falls within localPath. When the HTTP server receives percent-encoded traversal sequences (%2e%2e%2f decoding to ../), URL decoding happens before path.resolve() sees the input, allowing the attacker to climb arbitrarily far up the filesystem. The deterministic plugin ID scheme - derived from a plugin's publisher and name fields - means widely-known built-in Theia plugins serve as reliable, pre-computed traversal anchors, removing any guessing component from the attack.
RemediationAI
Upgrade Eclipse Theia to a version beyond 1.73.1 once a patched release is confirmed - the exact fix version is not stated in the available intelligence and must be verified against the vendor advisory at https://github.com/eclipse-theia/theia/security/advisories/GHSA-qmm6-p8q4-2g48 before deploying. As a compensating control pending a patch, restrict network access to the Theia backend HTTP port using firewall rules or reverse-proxy ACLs so only explicitly trusted clients can reach the /hostedPlugin/ route; note this is ineffective if untrusted users already hold legitimate access to the Theia instance. A reverse proxy (nginx, HAProxy) can be configured to block requests whose path contains percent-encoded dot or slash sequences (%2e, %2f), but URL normalization handling must be rigorously validated to prevent bypass via double-encoding or Unicode variants. Additionally, run the Theia backend process under a least-privilege OS user account to minimise the set of files an attacker can retrieve even if traversal succeeds - this does not prevent exploitation but materially limits blast radius.
In Eclipse Theia 0.3.9 to 1.8.1, the "mini-browser" extension allows a user to preview HTML files in an iframe inside th
In versions of the @theia/plugin-ext component of Eclipse Theia prior to 1.18.0, Webview contents can be hijacked via po
In Eclipse Theia versions up to and including 0.16.0, in the notification messages there is no HTML escaping, so Javascr
In Eclipse Theia versions up to and including 1.8.0, in the debug console there is no HTML escaping, so arbitrary Javasc
In Eclipse Theia 0.1.1 to 0.2.0, it is possible to exploit the default build to obtain remote code execution (and XXE) v
Unauthenticated arbitrary file write in Eclipse Theia 1.73.1 and earlier (browser-mode deployments) allows any cross-ori
Prototype pollution in Eclipse Theia's preference resolution system exposes developers to application-logic manipulation
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53303
GHSA-34gw-v4cc-pv7c