CVE-2026-60009

HIGH CVSS 3.1: 8.8 EPSS 0.32%
Updated Aug 07, 2026
Eclipse Foundation
Parameter Value
CVSS 8.8 (HIGH)
Affected Versions before 1.74.0
Fixed In 1.74.0
Type CWE-73 (External Control of File Name or Path), CWE-352 (Cross-Site Request Forgery (CSRF)), CWE-22 (Path Traversal), CWE-306 (Missing Authentication for Critical Function)
Vendor Eclipse Foundation
Public PoC No

In Eclipse Theia versions up to and including 1.73.1, the `@theia/filesystem` backend binds `POST /file-upload` in every filesystem-enabled deployment. The handler takes an attacker-supplied absolute path from the multipart `uri` field and calls `fs.move(tmp, target, { overwrite: true })` with no workspace confinement and no authentication. In browser (non-Electron) deployments the connection token is enforced only on WebSocket upgrades; the HTTP middleware in `@theia/core` re-issues the cookie and calls `next()` without rejecting tokenless HTTP requests.

Because `multipart/form-data` is a CORS-safelisted request type, a cross-origin web page can trigger the write with no preflight and no credentials, resulting in an unauthenticated arbitrary file write outside the workspace to any absolute path the backend process can write. This can escalate to remote code execution, for example by overwriting a startup-executed file such as `~/.bashrc`. Electron mode uses a separate `ElectronSecurityToken` and is not affected via this path.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Privileges Required
None
No privileges needed
User Interaction
Required
User action required

Impact Assessment

Confidentiality
High
Complete data leak
Integrity
High
Complete data modification
Availability
High
Complete denial of service

CVSS Vector v3.1

Vulnerable Products 1

Configuration From (including) Up to (excluding)
Eclipse Theia
cpe:2.3:a:eclipse:theia:*:*:*:*:*:*:*:*
1.74.0