CVE-2026-10054 PUBLISHED

Assigner: eclipse
Reserved: 29.05.2026 Published: 03.07.2026 Updated: 03.07.2026

In affected versions of Eclipse Theia (1.8.1 and later), the browser backend exposes privileged terminal RPC over WebSocket (/services/shell-terminal, /services/terminals/:id) without service-level authentication.

WebSocket origin validation in @theia/core is fail-open: connections are accepted when the Origin header is missing or when no THEIA_HOSTS allowlist is configured (the default). The Socket.IO integration additionally replaces the real Origin header with a client-supplied fix-origin header that an attacker can control or omit.

As a result, a foreign-origin web page visited by a user with a running Theia instance can open the /services WebSocket namespace, invoke terminal creation, attach to the resulting terminal data channel, execute arbitrary OS commands, and read their output. This affects both local developer setups (drive-by attack) and hosted or tunneled deployments without strong external authentication.

A fix is in development that enforces same-origin validation by default, removes trust in the fix-origin header, gates HTTP and WebSocket access on a SameSite=Strict; HttpOnly connection-token cookie, and sanitizes shell terminal creation options.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS Score: 8.8

Product Status

Vendor Eclipse Foundation
Product Eclipse Theia
Versions Default: unaffected
  • affected from 1.8.1 to 1.73.0 (excl.)

Credits

  • Anwar Ayoob reporter

References

Problem Types

  • CWE-1385 Missing origin validation in WebSockets CWE
  • CWE-306 Missing authentication for critical function CWE

Impacts

  • CAPEC-111 JSON Hijacking (aka JavaScript Hijacking)
  • CAPEC-62 Cross Site Request Forgery