<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 07 Oct 2026 02:35:08 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-342679</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-342679</link>
      <description>EUVD-2026-342679</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-342679</guid>
    </item>
    <item>
      <title>fkie_cve-2026-67431</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-67431</link>
      <description>&lt;p&gt;MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to 0.23.0, MCP::Server::Transports::StreamableHTTPTransport in the mcp gem does not bind a session ID to a session owner, allowing an attacker with a stolen session ID to send tools/call requests that execute in the victim&amp;#39;s session. This issue is fixed in version 0.23.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to 0.23.0, MCP::Server::Transports::StreamableHTTPTransport in the mcp gem does not bind a session ID to a session owner, allowing an attacker with a stolen session ID to send tools/call requests that execute in the victim&amp;#39;s session. This issue is fixed in version 0.23.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-67431</guid>
    </item>
    <item>
      <title>GHSA-5p9g-j988-pcwv — MCP Ruby SDK: Ruby SSE Session Poisoning</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-5p9g-j988-pcwv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; RubyGems: mcp&lt;/p&gt;
&lt;p&gt;### Summary
**Vulnerability**: Missing Session Ownership Validation in the Ruby MCP SDK&amp;#39;s Streamable and SSE HTTP transport implementation. Any attacker with a stolen session ID can execute tools with the victim&amp;#39;s session. This is a silent attack - the victim&amp;#39;s session is compromised and being used for unauthorized actions, but it is hard to know for the victim&lt;/p&gt;
&lt;p&gt;### Details
https://github.com/modelcontextprotocol/ruby-sdk/blob/main/lib/mcp/server/transports/streamable_http_transport.rb#L260-L278&lt;/p&gt;
&lt;p&gt;**Victim** starts a legitimate MCP session and receives session ID abc-123
**Attacker** obtains the session ID (various means - network sniffing, logs, etc. out of scope for this analysis)
**Attacker** sends POST to /messages/abc-123 with a tool call
**Server** accepts the request (no ownership validation!)
**Server** executes the tool and sends response to victim&amp;#39;s SSE stream
**Victim** receives attacker&amp;#39;s response, thinking it&amp;#39;s legitimate&lt;/p&gt;
&lt;p&gt;### PoC
[attacker_client.py](https://github.com/user-attachments/files/26044817/attacker_client.py)
[legitimate_client.py](https://github.com/user-attachments/files/26044818/legitimate_client.py)&lt;/p&gt;
&lt;p&gt;**Prerequisites**&lt;/p&gt;
&lt;p&gt;1. Python 3.8+
2. Install dependencies: `requests`&lt;/p&gt;
&lt;p&gt;**Running the Demo**&lt;/p&gt;
&lt;p&gt;1. **Terminal 1:** Start the Ruby MCP Server&lt;/p&gt;
&lt;p&gt;`ruby streamable_http_server.rb`&lt;/p&gt;
&lt;p&gt;Makes use of https://github.com/modelcontextprotocol/ruby-sdk/blob/main/examples/streamable_http_server.rb
This server has a tool call notification_tool which the clients call&lt;/p&gt;
&lt;p&gt;2.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; RubyGems: mcp&lt;/p&gt;
&lt;p&gt;### Summary
**Vulnerability**: Missing Session Ownership Validation in the Ruby MCP SDK&amp;#39;s Streamable and SSE HTTP transport implementation. Any attacker with a stolen session ID can execute tools with the victim&amp;#39;s session. This is a silent attack - the victim&amp;#39;s session is compromised and being used for unauthorized actions, but it is hard to know for the victim&lt;/p&gt;
&lt;p&gt;### Details
https://github.com/modelcontextprotocol/ruby-sdk/blob/main/lib/mcp/server/transports/streamable_http_transport.rb#L260-L278&lt;/p&gt;
&lt;p&gt;**Victim** starts a legitimate MCP session and receives session ID abc-123
**Attacker** obtains the session ID (various means - network sniffing, logs, etc. out of scope for this analysis)
**Attacker** sends POST to /messages/abc-123 with a tool call
**Server** accepts the request (no ownership validation!)
**Server** executes the tool and sends response to victim&amp;#39;s SSE stream
**Victim** receives attacker&amp;#39;s response, thinking it&amp;#39;s legitimate&lt;/p&gt;
&lt;p&gt;### PoC
[attacker_client.py](https://github.com/user-attachments/files/26044817/attacker_client.py)
[legitimate_client.py](https://github.com/user-attachments/files/26044818/legitimate_client.py)&lt;/p&gt;
&lt;p&gt;**Prerequisites**&lt;/p&gt;
&lt;p&gt;1. Python 3.8+
2. Install dependencies: `requests`&lt;/p&gt;
&lt;p&gt;**Running the Demo**&lt;/p&gt;
&lt;p&gt;1. **Terminal 1:** Start the Ruby MCP Server&lt;/p&gt;
&lt;p&gt;`ruby streamable_http_server.rb`&lt;/p&gt;
&lt;p&gt;Makes use of https://github.com/modelcontextprotocol/ruby-sdk/blob/main/examples/streamable_http_server.rb
This server has a tool call notification_tool which the clients call&lt;/p&gt;
&lt;p&gt;2.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-5p9g-j988-pcwv</guid>
    </item>
  </channel>
</rss>
