Description
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.
Published: 2026-08-05
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The backend of Eclipse Theia binds the POST /file-upload endpoint in every filesystem‐enabled deployment. The handler accepts an attacker‑supplied absolute path from the multipart 'uri' field and calls fs.move(tmp, target, { overwrite: true }) without any workspace confinement or authentication. In browser (non‑Electron) deployments, the connection token is only enforced for WebSocket upgrades; the HTTP middleware reissues the cookie and allows the request to proceed. 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, leading to an unauthenticated arbitrary file write to any absolute path that the backend process can write. This flaw can be leveraged to modify startup‑executed files such as ~/.bashrc, providing a path to remote code execution.

Affected Systems

This issue affects Eclipse Theia versions up to and including 1.73.1. No third‑party products or later versions are listed.

Risk and Exploitability

The CVSS score is 8.8, indicating high severity. EPSS is not available, so the current exploitation probability can’t be quantified, but the lack of authentication and the ability to trigger the endpoint from a cross‑origin browser make the attack realistic. The issue is not listed in the CISA KEV catalog. Exploitation requires only a crafted multipart request and a server hosting a vulnerable Theia instance; Electron mode is immune via its separate security token.

Generated by OpenCVE AI on August 5, 2026 at 13:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Eclipse Theia to a patched version that removes or secures the POST /file-upload endpoint, thereby eliminating arbitrary file writes.
  • Require authentication for the POST /file-upload endpoint, rejecting any request without a valid connection token.
  • Validate the target path supplied in the 'uri' field, rejecting absolute paths and enforcing that the destination resides within the workspace to prevent path traversal.
  • Disable or restrict the file‑upload service in non‑trusted environments and enforce same‑origin policy or CSRF tokens for incoming requests to block cross‑origin exploitation.

Generated by OpenCVE AI on August 5, 2026 at 13:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
Title Unrestricted File Write via POST /file-upload in Eclipse Theia

Wed, 05 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
First Time appeared Eclipse
Eclipse theia
Vendors & Products Eclipse
Eclipse theia

Wed, 05 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Description 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.
Weaknesses CWE-22
CWE-306
CWE-352
CWE-73
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: eclipse

Published:

Updated: 2026-08-05T12:37:08.689Z

Reserved: 2026-07-15T08:43:52.459Z

Link: CVE-2026-60009

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T13:30:05Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-306

    Missing Authentication for Critical Function

  • CWE-352

    Cross-Site Request Forgery (CSRF)

  • CWE-73

    External Control of File Name or Path