Skip to content

Commit 13dc601

Browse files
jasnowpostmodern
authored andcommitted
GHSA/SYNC: 1 modified and 2 brand new advisories
1 parent 0cd4566 commit 13dc601

File tree

3 files changed

+114
-0
lines changed

3 files changed

+114
-0
lines changed

gems/loofah/GHSA-46fp-8f5p-pf2m.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,7 @@ patched_versions:
4848
related:
4949
url:
5050
- https://github.com/flavorjones/loofah/security/advisories/GHSA-46fp-8f5p-pf2m
51+
- https://github.com/flavorjones/loofah/releases/tag/v2.25.1
52+
- https://github.com/flavorjones/loofah/commit/f4ebc9c5193dde759a57541062e490e86fc7c068
53+
- https://github.com/advisories/GHSA-2j22-pr5w-6gq8
5154
- https://github.com/advisories/GHSA-46fp-8f5p-pf2m

gems/mcp/CVE-2026-33946.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
gem: mcp
3+
cve: 2026-33946
4+
ghsa: qvqr-5cv7-wh35
5+
url: https://github.com/modelcontextprotocol/ruby-sdk/security/advisories/GHSA-qvqr-5cv7-wh35
6+
title: MCP Ruby SDK - Insufficient Session Binding Allows SSE
7+
Stream Hijacking via Session ID Replay
8+
date: 2026-03-27
9+
description: |
10+
### Summary
11+
12+
The Ruby SDK's [streamable_http_transport.rb](https://github.com/modelcontextprotocol/ruby-sdk/blob/main/lib/mcp/server/transports/streamable_http_transport.rb)
13+
implementation contains a session hijacking vulnerability. An attacker
14+
who obtains a valid session ID can completely hijack the victim's
15+
Server-Sent Events (SSE) stream and intercept all real-time data.
16+
17+
### Details
18+
19+
**Root Cause**
20+
21+
The StreamableHTTPTransport implementation stores only one SSE stream
22+
object per session ID and lacks:
23+
24+
- Session-to-user identity binding
25+
- Ownership validation when establishing SSE connections
26+
- Protection against multiple simultaneous connections to the same session
27+
28+
### Impact
29+
30+
While the absence of user binding may not pose immediate risks if
31+
session IDs are not used to store sensitive data or state, the
32+
fundamental purpose of session IDs is to maintain stateful connections.
33+
If the SDK or its consumers utilize session IDs for sensitive operations
34+
without proper user binding controls, this creates a potential security
35+
vulnerability. For example: In the case of the Ruby SDK, the attacker
36+
was able to hijack the stream and receive all the tool responses
37+
belonging to the victim. The tool responses can be sensitive
38+
confidential data.
39+
cvss_v3: 8.2
40+
patched_versions:
41+
- ">= 0.9.2"
42+
related:
43+
url:
44+
- https://www.cve.org/CVERecord?id=CVE-2026-33946
45+
- https://github.com/modelcontextprotocol/ruby-sdk/releases/tag/v0.9.2
46+
- https://github.com/modelcontextprotocol/ruby-sdk/security/advisories/GHSA-qvqr-5cv7-wh35
47+
- https://github.com/modelcontextprotocol/ruby-sdk/blob/main/examples/streamable_http_server.rb
48+
- https://github.com/modelcontextprotocol/ruby-sdk/commit/db40143402d65b4fb6923cec42d2d72cb89b3874
49+
- https://hackerone.com/reports/3556146
50+
- https://github.com/modelcontextprotocol/csharp-sdk/blob/main/src/ModelContextProtocol.AspNetCore/SseHandler.cs#L93-L97
51+
- https://github.com/modelcontextprotocol/go-sdk/blob/main/mcp/streamable.go#L281C1-L288C2
52+
- https://github.com/modelcontextprotocol/python-sdk/blob/main/src/mcp/server/streamable_http.py#L680-L685
53+
- https://github.com/advisories/GHSA-qvqr-5cv7-wh35

gems/ruby-lsp/CVE-2026-34060.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
gem: ruby-lsp
3+
cve: 2026-34060
4+
ghsa: c4r5-fxqw-vh93
5+
url: https://github.com/Shopify/ruby-lsp/security/advisories/GHSA-c4r5-fxqw-vh93
6+
title: Ruby LSP has arbitrary code execution through branch setting
7+
date: 2026-03-27
8+
description: |
9+
10+
## Summary
11+
12+
The `rubyLsp.branch` VS Code workspace setting was interpolated without
13+
sanitization into a generated Gemfile, allowing arbitrary Ruby code
14+
execution when a user opens a project containing a malicious
15+
`.vscode/settings.json`.
16+
17+
Other editors that support workspace setting that get automatically
18+
applied upon opening the editor and trusting the workspace are also
19+
impacted since the server is the component that performs the interpolation.
20+
21+
## Details
22+
23+
The `branch` CLI argument passed to the `ruby-lsp` server was
24+
interpolated in the generated `.ruby-lsp/Gemfile` without sanitization.
25+
Editors that allow defining settings saved at the workspace level
26+
(e.g.: `.vscode/settings.json`) that gets automatically applied open
27+
the possibility to craft a malicious repository that once opened and
28+
trusted in the editor would run arbitrary code.
29+
30+
## Impact
31+
32+
Code execution with the privileges of the user who opens the malicious
33+
project. Ruby LSP assumes workspace code is trusted and so opening
34+
the editor on an untrusted workspace can lead to executing potentially
35+
dangerous code.
36+
37+
## Remediation
38+
39+
The `rubyLsp.branch` setting has been removed entirely. VS Code extensions
40+
auto-update by default, so most users will receive the fix without
41+
action. Users who have disabled auto-updates should update to extension
42+
version >= 0.10.2.
43+
44+
The `branch` CLI flag was also entirely removed from the `ruby-lsp`
45+
gem. For users that don't add `ruby-lsp` to their Gemfiles, the
46+
server should auto-update. Users with the `ruby-lsp` in the Gemfile
47+
and locked to a specific version should update to >= 0.26.9.
48+
cvss_v2: 7.5
49+
cvss_v3: 9.8
50+
cvss_v4: 7.1
51+
patched_versions:
52+
- ">= 0.26.9"
53+
related:
54+
url:
55+
- https://www.tenable.com/cve/CVE-2026-34060
56+
- https://github.com/Shopify/ruby-lsp/security/advisories/GHSA-c4r5-fxqw-vh93
57+
- https://github.com/Shopify/ruby-lsp/releases/tag/v0.26.9
58+
- https://github.com/advisories/GHSA-c4r5-fxqw-vh93

0 commit comments

Comments
 (0)