CVE-2026-34060: Ruby LSP has arbitrary code execution through branch setting

Published Mar 27, 2026
·
Updated

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

3 affected componentsFixes available
rubygems/ruby-lsp<0.26.9
0.26.9
Shopify Ruby Lsp Visual Studio Code<0.10.2
Shopify Ruby Lsp Ruby<0.26.9

Event History

Mar 27, 2026
Advisory Published
via GitHub·07:43 PM
Data Sourced
via GitHub·07:43 PM
DescriptionWeaknessAffected Software
Mar 31, 2026
CVE Published
via MITRE·01:59 AM
Data Sourced
via MITRE·01:59 AM
DescriptionWeakness
Data Sourced
via NVD·03:15 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:15 AM
Affected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

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.

2

How do I fix CVE-2026-34060?

To fix CVE-2026-34060, upgrade to the ruby-lsp version 0.26.9 or later.

3

What specific setting in VS Code is affected by CVE-2026-34060?

CVE-2026-34060 affects the `rubyLsp.branch` VS Code workspace setting.

4

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.

5

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.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203