Skip to content

Commit cd54405

Browse files
jasnowRubySec CI
authored andcommitted
Updated advisory posts against rubysec/ruby-advisory-db@13dc601
1 parent b77daf6 commit cd54405

File tree

3 files changed

+130
-0
lines changed

3 files changed

+130
-0
lines changed

advisories/_posts/2026-03-18-GHSA-46fp-8f5p-pf2m.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,8 @@ advisory:
5555
related:
5656
url:
5757
- https://github.com/flavorjones/loofah/security/advisories/GHSA-46fp-8f5p-pf2m
58+
- https://github.com/flavorjones/loofah/releases/tag/v2.25.1
59+
- https://github.com/flavorjones/loofah/commit/f4ebc9c5193dde759a57541062e490e86fc7c068
60+
- https://github.com/advisories/GHSA-2j22-pr5w-6gq8
5861
- https://github.com/advisories/GHSA-46fp-8f5p-pf2m
5962
---
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
layout: advisory
3+
title: 'CVE-2026-33946 (mcp): MCP Ruby SDK - Insufficient Session Binding Allows SSE
4+
Stream Hijacking via Session ID Replay'
5+
comments: false
6+
categories:
7+
- mcp
8+
advisory:
9+
gem: mcp
10+
cve: 2026-33946
11+
ghsa: qvqr-5cv7-wh35
12+
url: https://github.com/modelcontextprotocol/ruby-sdk/security/advisories/GHSA-qvqr-5cv7-wh35
13+
title: MCP Ruby SDK - Insufficient Session Binding Allows SSE Stream Hijacking via
14+
Session ID Replay
15+
date: 2026-03-27
16+
description: |
17+
### Summary
18+
19+
The Ruby SDK's [streamable_http_transport.rb](https://github.com/modelcontextprotocol/ruby-sdk/blob/main/lib/mcp/server/transports/streamable_http_transport.rb)
20+
implementation contains a session hijacking vulnerability. An attacker
21+
who obtains a valid session ID can completely hijack the victim's
22+
Server-Sent Events (SSE) stream and intercept all real-time data.
23+
24+
### Details
25+
26+
**Root Cause**
27+
28+
The StreamableHTTPTransport implementation stores only one SSE stream
29+
object per session ID and lacks:
30+
31+
- Session-to-user identity binding
32+
- Ownership validation when establishing SSE connections
33+
- Protection against multiple simultaneous connections to the same session
34+
35+
### Impact
36+
37+
While the absence of user binding may not pose immediate risks if
38+
session IDs are not used to store sensitive data or state, the
39+
fundamental purpose of session IDs is to maintain stateful connections.
40+
If the SDK or its consumers utilize session IDs for sensitive operations
41+
without proper user binding controls, this creates a potential security
42+
vulnerability. For example: In the case of the Ruby SDK, the attacker
43+
was able to hijack the stream and receive all the tool responses
44+
belonging to the victim. The tool responses can be sensitive
45+
confidential data.
46+
cvss_v3: 8.2
47+
patched_versions:
48+
- ">= 0.9.2"
49+
related:
50+
url:
51+
- https://www.cve.org/CVERecord?id=CVE-2026-33946
52+
- https://github.com/modelcontextprotocol/ruby-sdk/releases/tag/v0.9.2
53+
- https://github.com/modelcontextprotocol/ruby-sdk/security/advisories/GHSA-qvqr-5cv7-wh35
54+
- https://github.com/modelcontextprotocol/ruby-sdk/blob/main/examples/streamable_http_server.rb
55+
- https://github.com/modelcontextprotocol/ruby-sdk/commit/db40143402d65b4fb6923cec42d2d72cb89b3874
56+
- https://hackerone.com/reports/3556146
57+
- https://github.com/modelcontextprotocol/csharp-sdk/blob/main/src/ModelContextProtocol.AspNetCore/SseHandler.cs#L93-L97
58+
- https://github.com/modelcontextprotocol/go-sdk/blob/main/mcp/streamable.go#L281C1-L288C2
59+
- https://github.com/modelcontextprotocol/python-sdk/blob/main/src/mcp/server/streamable_http.py#L680-L685
60+
- https://github.com/advisories/GHSA-qvqr-5cv7-wh35
61+
---
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
layout: advisory
3+
title: 'CVE-2026-34060 (ruby-lsp): Ruby LSP has arbitrary code execution through branch
4+
setting'
5+
comments: false
6+
categories:
7+
- ruby-lsp
8+
advisory:
9+
gem: ruby-lsp
10+
cve: 2026-34060
11+
ghsa: c4r5-fxqw-vh93
12+
url: https://github.com/Shopify/ruby-lsp/security/advisories/GHSA-c4r5-fxqw-vh93
13+
title: Ruby LSP has arbitrary code execution through branch setting
14+
date: 2026-03-27
15+
description: |2
16+
17+
## Summary
18+
19+
The `rubyLsp.branch` VS Code workspace setting was interpolated without
20+
sanitization into a generated Gemfile, allowing arbitrary Ruby code
21+
execution when a user opens a project containing a malicious
22+
`.vscode/settings.json`.
23+
24+
Other editors that support workspace setting that get automatically
25+
applied upon opening the editor and trusting the workspace are also
26+
impacted since the server is the component that performs the interpolation.
27+
28+
## Details
29+
30+
The `branch` CLI argument passed to the `ruby-lsp` server was
31+
interpolated in the generated `.ruby-lsp/Gemfile` without sanitization.
32+
Editors that allow defining settings saved at the workspace level
33+
(e.g.: `.vscode/settings.json`) that gets automatically applied open
34+
the possibility to craft a malicious repository that once opened and
35+
trusted in the editor would run arbitrary code.
36+
37+
## Impact
38+
39+
Code execution with the privileges of the user who opens the malicious
40+
project. Ruby LSP assumes workspace code is trusted and so opening
41+
the editor on an untrusted workspace can lead to executing potentially
42+
dangerous code.
43+
44+
## Remediation
45+
46+
The `rubyLsp.branch` setting has been removed entirely. VS Code extensions
47+
auto-update by default, so most users will receive the fix without
48+
action. Users who have disabled auto-updates should update to extension
49+
version >= 0.10.2.
50+
51+
The `branch` CLI flag was also entirely removed from the `ruby-lsp`
52+
gem. For users that don't add `ruby-lsp` to their Gemfiles, the
53+
server should auto-update. Users with the `ruby-lsp` in the Gemfile
54+
and locked to a specific version should update to >= 0.26.9.
55+
cvss_v2: 7.5
56+
cvss_v3: 9.8
57+
cvss_v4: 7.1
58+
patched_versions:
59+
- ">= 0.26.9"
60+
related:
61+
url:
62+
- https://www.tenable.com/cve/CVE-2026-34060
63+
- https://github.com/Shopify/ruby-lsp/security/advisories/GHSA-c4r5-fxqw-vh93
64+
- https://github.com/Shopify/ruby-lsp/releases/tag/v0.26.9
65+
- https://github.com/advisories/GHSA-c4r5-fxqw-vh93
66+
---

0 commit comments

Comments
 (0)