CVE-2026-34060: Ruby LSP has arbitrary code execution through branch setting
Summary
The rubyLsp.branch VS Code workspace setting was interpolated without sanitization into a generated Gemfile, allowing arbitrary Ruby code execution when a user opens a project containing a malicious .vscode/settings.json.
Other editors that support workspace setting that get automatically applied upon opening the editor and trusting the workspace are also impacted since the server is the component that performs the interpolation.
Details
The branch CLI argument passed to the ruby-lsp server was interpolated in the generated .ruby-lsp/Gemfile without sanitization. Editors that allow defining settings saved at the workspace level (e.g.: .vscode/settings.json) that gets automatically applied open the possibility to craft a malicious repository that once opened and trusted in the editor would run arbitrary code.
Impact
Code execution with the privileges of the user who opens the malicious project. Ruby LSP assumes workspace code is trusted and so opening the editor on an untrusted workspace can lead to executing potentially dangerous code.
Remediation
The rubyLsp.branch setting has been removed entirely. VS Code extensions auto-update by default, so most users will receive the fix without action. Users who have disabled auto-updates should update to extension version >= 0.10.2.
The branch CLI flag was also entirely removed from the ruby-lsp gem. For users that don't add ruby-lsp to their Gemfiles, the server should auto-update. Users with the ruby-lsp in the Gemfile and locked to a specific version should update to >= 0.26.9.
Other sources
Ruby LSP is an implementation of the language server protocol for Ruby. Prior to Shopify.ruby-lsp version 0.10.2 and ruby-lsp version 0.26.9, the rubyLsp.branch VS Code workspace setting was interpolated without sanitization into a generated Gemfile, allowing arbitrary Ruby code execution when a user opens a project containing a malicious .vscode/settings.json. This issue has been patched in Shopify.ruby-lsp version 0.10.2 and ruby-lsp version 0.26.9.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-34060?
CVE-2026-34060 is classified as a high severity vulnerability due to its potential for arbitrary Ruby code execution.
How do I fix CVE-2026-34060?
To fix CVE-2026-34060, upgrade to the ruby-lsp version 0.26.9 or later.
What specific setting in VS Code is affected by CVE-2026-34060?
CVE-2026-34060 affects the `rubyLsp.branch` VS Code workspace setting.
What can happen if I open a project with a malicious .vscode/settings.json file related to CVE-2026-34060?
Opening such a project can lead to the execution of arbitrary Ruby code, compromising system security.
Is CVE-2026-34060 found in any other software besides ruby-lsp?
CVE-2026-34060 specifically pertains to the ruby-lsp package, but similar vulnerabilities may exist in other environments that support unsanitized workspace settings.