Skip to main content

Eclipse Theia CVE-2026-14574

| EUVDEUVD-2026-53302 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-08-05 emo@eclipse.org GHSA-5f8h-2xph-wwxv
5.7
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker crafts malicious workspace with __proto__ in settings.json
  2. Delivery
    Developer opens untrusted repository in Eclipse Theia
  3. Exploit
    Theia loads workspace settings via PreferenceServiceImpl.doResolve
  4. Execution
    PreferenceUtils.merge recursively processes __proto__ keys without filtering
  5. Persist
    Object.prototype polluted across Theia Node.js process
  6. Impact
    IDE application logic altered, enabling information disclosure or security-check bypass

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target user to actively open a workspace - either a local folder or a cloned repository - that contains a crafted .theia/settings.json or .vscode/settings.json file embedding prototype-polluting keys (__proto__, constructor, or prototype) at any nesting depth. The AT:P metric confirms a specific precondition: the malicious workspace file must be present and accessible when Theia resolves preferences. Exploitation is inherently limited by UI:A - the victim must perform the deliberate action of opening the workspace, making this a social-engineering-dependent attack requiring the attacker to first deliver a malicious workspace to the target. Remote exploitation without workspace delivery is not possible. The vulnerability does not manifest against default Theia installations with no user-supplied workspace settings files. Authentication requirements are not relevant here, as the attack surface is the local file system, not a network-exposed API.

Impact

The CVSS 4.0 score of 5.7 (Medium) is internally consistent with the threat model. AV:L confirms exploitation is scoped to the local workspace context - the attacker cannot trigger the vulnerability remotely without first delivering a malicious workspace. AT:P (attack requirements present) captures the precondition that the victim must open a crafted workspace, and UI:A mandates active user interaction. VI:H is the dominant risk driver: prototype pollution in a Node.js process can unpredictably alter conditional logic, bypass security checks, or enable privilege escalation within the IDE process depending on downstream code that trusts inherited object properties. VC:L and VA:L are consistent with the 'Information Disclosure' tag and minor process disruption potential. No CISA KEV listing exists, and E:X (exploit maturity not defined) indicates no confirmed public exploit. The realistic threat actor is a supply-chain or social-engineering attacker distributing malicious repositories to developers - a targeted rather than opportunistic scenario. The low EPSS implied by the absence of weaponized exploits and the Medium CVSS score together suggest this is a genuine but not immediately critical priority for most organizations, unless developer toolchain security is a specific concern.

Exploit ScenarioDerived

An attacker publishes or shares a repository containing a .theia/settings.json file with a deeply nested __proto__ key mapping to a crafted value. A developer clones the repository and opens it in Eclipse Theia, triggering PreferenceServiceImpl.doResolve during workspace initialization, which calls PreferenceUtils.merge on the malicious settings payload. The polluted Object.prototype then causes downstream Theia code that checks inherited properties to behave unexpectedly - potentially bypassing access checks within plugins, leaking configuration data, or altering file-system operation logic within the IDE process. No public proof-of-concept has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

Prototype pollution in Eclipse Theia's preference resolution system exposes developers to application-logic manipulation when opening crafted workspaces. The PreferenceUtils.merge function in @theia/core, invoked for every preference scope resolution, fails to reject reserved JavaScript prototype keys (__proto__, constructor, prototype), allowing a malicious .theia/settings.json or .vscode/settings.json to corrupt Object.prototype across the entire Theia Node.js process. Affected versions span 0.7.0 through 1.73.1 inclusive; no public exploit has been identified at time of analysis, and the CVSS 4.0 score of 5.7 appropriately reflects the social-engineering dependency and required user interaction.

RemediationAI

Consult the vendor advisory at https://github.com/eclipse-theia/theia/security/advisories/GHSA-f3w9-qfw3-xr32 for the exact patched release version, as no specific fix version was confirmed in the available data - upgrade beyond 1.73.1 once a patched release is published. The upstream fix should introduce prototype-key filtering (rejecting __proto__, constructor, and prototype keys) within PreferenceUtils.merge. As a compensating control pending an official patch, organizations should enforce a policy prohibiting developers from opening workspaces from unreviewed or untrusted sources, since .theia/settings.json and .vscode/settings.json are parsed automatically on workspace load. Where Theia is deployed in a shared cloud IDE environment, restricting write access to workspace settings directories limits attacker ability to pre-stage malicious files. Disabling workspace-level preference resolution entirely (if configurable in the deployment) would fully mitigate the vector at the cost of blocking legitimate per-workspace IDE customization. No generic network-layer controls are effective, as this is a local workspace-file attack.

Affected VersionsENISA

Eclipse Theia 0.7.0 <1.74.0

Affected Packages

euvd eclipse_theia fix: 1.74.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Eclipse Theia is an open-source, TypeScript/Node.js-based IDE framework used to build cloud and desktop development environments. The flaw resides in the PreferenceUtils.merge function within the @theia/core npm package, which is called by PreferenceServiceImpl.doResolve during preference resolution across four scopes: default, user, workspace, and folder. CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) describes the root cause: recursive object merging without a prototype-key allowlist or denylist. In JavaScript/Node.js environments, successfully setting __proto__ on a merged object propagates to Object.prototype, meaning every subsequently created object in the process inherits the injected properties. Because Theia processes host IDE logic server-side as well as client-side UI, the blast radius of a successful prototype pollution extends across plugin execution, file system access, and inter-process communication within the IDE.

Know when Theia gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (eclipse) PRIMARY 5.7 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:L/VI:H/VA:L/SC:N/SI:L/SA:L
vuln.today AI 6.6 MEDIUM

Local vector because exploit requires a workspace file on disk; PR:N since attacker supplies the file, not the victim's credentials; UI:R as victim must open the workspace; integrity high due to Object.prototype corruption across the process.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L
4.0 AV:L/AC:L/AT:P/PR:N/UI:A/VC:L/VI:H/VA:L/SC:N/SI:L/SA:L

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

Lifecycle Timeline

1
Patch available
Aug 05, 2026 - 12:01 EUVD

DescriptionCVE.org

In Eclipse Theia versions 0.7.0 and up until including 1.73.1, the PreferenceUtils.merge function in @theia/core recursively merges preference values without rejecting prototype-related keys (__proto__, constructor, prototype). Because this function is invoked by PreferenceServiceImpl.doResolve for every preference resolution across scopes (default, user, workspace, folder), a crafted preference value in a workspace settings file (.theia/settings.json or .vscode/settings.json) can pollute Object.prototype when the user opens the workspace, potentially altering application logic across the Theia process.

Threat Intelligence Overview

EPSS Score
0.1%
Top 95% exploitable
Prevalence
Low
niche open-source IDE framework, limited enterprise production footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy