/

CVE-2026-12609

Severity:

HIGH RISK

(7.5)

Path Traversal (CWE-22) in Eclipse Theia Plugin Backend

CVE-2026-12609

Analyzed

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22

Impact:

Arbitrary File Disclosure

Severity:

HIGH RISK

(7.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Eclipse Theia contains a path traversal vulnerability in the hosted plugin resource endpoint, allowing requests to escape a plugin's intended directory. An unauthenticated network attacker may retrieve arbitrary files readable by the Theia backend process when the endpoint is exposed.

Affected context

The issue affects Eclipse Theia deployments using the @theia/plugin-ext backend in versions 1.66.0 through 1.73.1. It occurs in the /hostedPlugin/:pluginId/:path(*) endpoint when requested paths are resolved without confirming that the resulting location remains inside the selected plugin directory. The risk depends on network access to the Theia backend and on the process having access to sensitive files.

Exploit preconditions

  • Attack surface: Network-accessible HTTP endpoint exposed by the Theia backend
  • Required access: No authentication may be required when the affected endpoint is reachable
  • Trigger point: File retrieval through the hosted plugin resource route
  • Path condition: Traversal sequences are decoded and incorporated into the requested path
  • Why exploitation is possible: The resolved path is not verified as remaining within the plugin's directory
  • File condition: The target file must be readable by the Theia backend process

Why this happens

The vulnerability results from resolving user-controlled path components against a trusted base directory without enforcing a containment relationship afterward. A path containing parent-directory traversal elements can therefore resolve outside the intended plugin location. This maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, commonly known as path traversal or directory traversal.

Potential impact

  • An attacker may disclose application configuration files
  • Sensitive credentials, tokens, or private keys could be exposed if readable by the backend process
  • Source code, workspace data, or deployment metadata may be retrieved
  • Information disclosure could support follow-on attacks against the development environment
  • The confidentiality of files accessible to the Theia process could be compromised

General mitigation guidance

Mitigation generally focuses on enforcing filesystem containment and reducing the trust placed in request-derived paths.

Common defensive patterns include:

  • Canonicalizing or resolving the candidate path before access
  • Verifying that the resolved path remains within the intended plugin directory
  • Rejecting traversal components and ambiguous encoded path representations
  • Serving only explicitly allowlisted plugin resources rather than arbitrary files
  • Applying authentication and network access controls to backend endpoints
  • Running the Theia process with least-privilege filesystem permissions
  • Keeping sensitive files outside directories accessible to the application

How teams detect issues like this

Organizations can identify this class of issue through:

  • Static analysis rules for filesystem APIs that combine request parameters with base directories
  • Code review checks requiring canonical-path containment validation before file access
  • Tests covering encoded and normalized traversal representations
  • Dynamic endpoint testing for access outside the intended resource root
  • Web-server policy monitoring for suspicious traversal sequences and unusual file-read responses
  • Automated security review tools that flag unsanitized path construction and missing authorization checks

Sources

SourceLink
github.comgithub.com/eclipse-theia/theia/security/advisories/GHSA-qmm6-p8q4-2g48
gitlab.eclipse.orggitlab.eclipse.org/security/cve-assignment/-/work_items/133
gitlab.eclipse.orggitlab.eclipse.org/security/vulnerability-reports/-/issues/524

Frequently asked

questions

Yes, when the affected Theia backend endpoint is reachable over the network and does not require authentication. Exploitation does not require modifying a plugin.

The attacker generally needs network access to the exposed HTTP endpoint. The targeted files must also be readable by the Theia backend process.

Resolve the requested path and verify that it remains within the intended plugin directory before opening it. An allowlist of permitted resources provides an additional defensive boundary.

Treat URL path components as untrusted input, test encoded traversal variants, enforce backend authentication where appropriate, and run services with minimal filesystem privileges.

Find out what's already
exploitable in your codebase.