CVE-2026-10054

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.
Configurations

No configuration.

History

25 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En las versiones afectadas de Eclipse Theia (1.8.1 y posteriores), el backend del navegador expone RPC de terminal privilegiado a través de WebSocket (/services/shell-terminal, /services/terminals/:id) sin autenticación a nivel de servicio. La validación de origen de WebSocket en @theia/core es de tipo ’fail-open’: se aceptan conexiones cuando falta el encabezado Origin o cuando no hay una lista blanca THEIA_HOSTS configurada (el valor predeterminado). La integración de Socket.IO además reemplaza el encabezado Origin real con un encabezado ’fix-origin’ proporcionado por el cliente que un atacante puede controlar u omitir. Como resultado, una página web de origen externo visitada por un usuario con una instancia de Theia en ejecución puede abrir el espacio de nombres WebSocket /services, invocar la creación de terminales, adjuntarse al canal de datos del terminal resultante, ejecutar comandos arbitrarios del sistema operativo y leer su salida. Esto afecta tanto a las configuraciones de desarrollador locales (ataque de paso) como a las implementaciones alojadas o tunelizadas sin una autenticación externa fuerte. Se está desarrollando una solución que aplica la validación de mismo origen por defecto, elimina la confianza en el encabezado ’fix-origin’, restringe el acceso HTTP y WebSocket mediante una cookie de token de conexión SameSite=Strict; HttpOnly, y sanea las opciones de creación de terminales de shell.

Information

Published : 2026-07-03 11:16

Updated : 2026-10-25 21:10


NVD link : CVE-2026-10054

Mitre link : CVE-2026-10054

CVE.ORG link : CVE-2026-10054


JSON object : View

Products Affected

No product.

CWE
CWE-306

Missing Authentication for Critical Function

CWE-1385

Missing Origin Validation in WebSockets