Skip to main content

Eclipse Theia CVE-2026-12609

| EUVDEUVD-2026-53303 HIGH
Path Traversal (CWE-22)
2026-08-05 emo@eclipse.org GHSA-34gw-v4cc-pv7c
7.5
CVSS 3.1 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify network-reachable Theia backend HTTP port
  2. Delivery
    Select deterministic built-in plugin ID as traversal anchor
  3. Exploit
    Craft GET request with percent-encoded `../` sequences in path parameter
  4. Execution
    Theia URL-decodes input before path.resolve()
  5. Persist
    path.resolve() escapes plugin directory boundary
  6. Impact
    Backend reads and returns arbitrary target file

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The Theia backend HTTP server must be network-reachable - this is the default configuration in all affected deployments. No authentication is required (PR:N per provided CVSS vector). The attacker must supply a valid plugin ID, but because IDs are deterministically derived from publisher and plugin name and Theia ships with well-known built-in plugins, no prior reconnaissance of the specific target system is necessary. The Theia backend process must have read permissions on the targeted files; in cloud IDE environments this permission set is typically broad. No non-default configuration flag, special platform, or specific Theia feature toggle is required - the vulnerable endpoint is present and active in all affected versions by default. Exploitation is bounded to files readable by the OS-level user account running the Theia backend process.

Impact

The CVSS 7.5 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) accurately represents the exploitation characteristics: the attack is trivially executed over the network with no authentication, no credentials, and no user interaction. The deterministic plugin ID structure makes the effective attack complexity lower than AC:L already implies - no target-specific enumeration is required. Impact is scoped to confidentiality: the attacker can retrieve any file the Theia backend process can read, which in cloud IDE environments (Gitpod, Eclipse Che) commonly includes SSH keys, OAuth tokens, .env files containing API secrets, application configuration, and source code. No EPSS score was included in the provided intelligence, and the vulnerability is absent from CISA KEV, indicating no confirmed widespread active exploitation at time of analysis. No POC code has been identified. Despite the absence of KEV listing, the trivial exploit mechanics and broad potential file exposure make this a genuine priority for any organization running a network-accessible Theia deployment.

Exploit ScenarioDerived

An unauthenticated attacker sends an HTTP GET request such as GET /hostedPlugin/eclipse.vscode-builtin-css/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fhome/theia/.ssh/id_rsa HTTP/1.1 to the Theia backend. The server URL-decodes the path parameter to ../../../../home/theia/.ssh/id_rsa, and path.resolve() produces an absolute path outside the plugin directory; the Theia backend reads and returns the private key in the response body. No public POC has been identified, but the technique requires only a standard HTTP client and knowledge of any built-in plugin's deterministic ID.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

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.

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.

Affected VersionsENISA

Eclipse Theia 1.66.0 <1.74.0

Affected Packages

euvd eclipse_theia fix: 1.74.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Theia gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (eclipse) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Network-exposed unauthenticated endpoint with trivial percent-encoding technique; impact is read-only file disclosure with no integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Aug 05, 2026 - 12:01 EUVD
CVE Published
Aug 05, 2026 - 11:16 cve.org
HIGH 7.5

DescriptionCVE.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.

Executive ViewAI

Why It Matters

Eclipse Theia versions 1.66.0 through 1.73.1 contain an unauthenticated path traversal vulnerability allowing remote attackers to download arbitrary files, with no public exploit identified at time of analysis. Organizations running affected versions face immediate risk of data exfiltration-including source code, credentials, and configuration-without authentication or prior reconnaissance. No vendor patch is currently available.

Business Impact: High
Compensating Controls

Implement WAF rules to block /hostedPlugin/* requests containing percent-encoded traversal sequences; restrict firewall access to the plugin-hosting endpoint using strict allowlisting; disable the plugin-hosting feature if not operationally required; isolate affected instances to internal networks only; and enable detailed logging of all plugin-hosting endpoint access. These interim controls do not eliminate the vulnerability and must be replaced with a vendor patch or upgrade when available.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
specialized cloud IDE framework, not general-purpose web infrastructure
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy