CVE-2026-14574
PoC ×2largePrototype Pollution in Eclipse Theia via Crafted Workspace Settings
Eclipse Theia (versions 0.7.0 through 1.73.1) contains a prototype pollution flaw (CWE-1321) in the PreferenceUtils.merge function of @theia/core, which recursively merges preference values without rejecting the __proto__, constructor, and prototype keys. Because PreferenceServiceImpl.doResolve invokes this function for every preference resolution across the default, user, workspace, and folder scopes, a crafted preference value in a workspace settings file (.theia/settings.json or .vscode/settings.json) pollutes Object.prototype when the user opens the workspace. An attacker who tricks a user into opening a malicious workspace can alter application logic within the Theia process (high integrity impact per CVSS 4.0, with low confidentiality and availability impact). Anyone running an affected Theia version is technically exposed, but the attack is local (AV:L), requires active user interaction (opening the workspace), and demands precise conditions, so the practical risk falls mainly on developers and users of Theia-based IDEs who open untrusted repositories. No in-the-wild exploitation is currently known: EPSS puts 30-day exploitation probability at 0.3%, the issue is not in CISA KEV, and two public PoC references exist in the Eclipse vulnerability tracker.
What to do: Update Eclipse Theia to a release newer than 1.73.1 (see the Eclipse advisory at gitlab.eclipse.org/security/vulnerability-reports/-/issues/567 for the fixed version); organizations using IDEs built on Theia should obtain patched builds from their downstream vendor. As an interim mitigation, avoid opening untrusted repositories/workspaces in Theia-based IDEs, or pre-screen .theia/settings.json and .vscode/settings.json for keys named __proto__, constructor, or prototype before opening them.
| Eclipse Theia | >= 0.7.0 and <= 1.73.1 (all releases from 0.7.0 up to and including 1.73.1) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Vendors
- eclipse
- Products
- theia
- Weakness
- CWE-1321
- Vector
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.