<?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>Sat, 03 Oct 2026 15:03:26 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-57112 — PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-57112</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; MervinPraison PraisonAI, MervinPraison praisonaiagents&lt;/p&gt;
&lt;p&gt;PraisonAI is a multi-agent teams system. From praisonaiagents 0.6.0 until 1.6.59 and PraisonAI 3.10.0 until 4.6.59, ToolsMCPServer.run_sse() in src/praisonai-agents/praisonaiagents/mcp/mcp_server.py mounts SseServerTransport on the legacy /sse and /messages/ endpoints without default Host, Origin, or authentication enforcement. A malicious website can use DNS rebinding against a reachable local or internal SSE server, supply attacker-controlled Host and Origin headers, enumerate registered tools, and invoke them with the server user&amp;#39;s privileges. The Streamable HTTP transport rejects the same hostile Origin, which isolates the flaw to the legacy SSE wrapper. An initial remediation was released in praisonaiagents 1.6.59 and PraisonAI 4.6.59.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; MervinPraison PraisonAI, MervinPraison praisonaiagents&lt;/p&gt;
&lt;p&gt;PraisonAI is a multi-agent teams system. From praisonaiagents 0.6.0 until 1.6.59 and PraisonAI 3.10.0 until 4.6.59, ToolsMCPServer.run_sse() in src/praisonai-agents/praisonaiagents/mcp/mcp_server.py mounts SseServerTransport on the legacy /sse and /messages/ endpoints without default Host, Origin, or authentication enforcement. A malicious website can use DNS rebinding against a reachable local or internal SSE server, supply attacker-controlled Host and Origin headers, enumerate registered tools, and invoke them with the server user&amp;#39;s privileges. The Streamable HTTP transport rejects the same hostile Origin, which isolates the flaw to the legacy SSE wrapper. An initial remediation was released in praisonaiagents 1.6.59 and PraisonAI 4.6.59.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-57112</guid>
    </item>
    <item>
      <title>GHSA-vmf9-xx9w-86wx — PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-vmf9-xx9w-86wx</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents, PyPI: praisonai&lt;/p&gt;
&lt;p&gt;# PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`praisonaiagents.mcp.ToolsMCPServer.run_sse()` builds a Starlette MCP
HTTP+SSE server around `mcp.server.sse.SseServerTransport`. The server exposes
`/sse` and `/messages/`, but it does not validate `Origin`, does not validate
`Host`, and does not require any authentication.&lt;/p&gt;
&lt;p&gt;This is reachable through supported PraisonAI code paths that wrap configured
MCP server tools and re-expose them over legacy SSE:&lt;/p&gt;
&lt;p&gt;- `praisonai mcp run &amp;lt;name&amp;gt; --transport sse`
- `praisonai serve mcp --name &amp;lt;name&amp;gt; --transport sse`
- direct use of `ToolsMCPServer(...).run_sse(...)` or
  `launch_tools_mcp_server(..., transport=&amp;#34;sse&amp;#34;)`&lt;/p&gt;
&lt;p&gt;A malicious website can use DNS rebinding against a local or internal
PraisonAI SSE MCP server and send requests with attacker-controlled `Host` and
`Origin` headers. The local PoV binds only to `127.0.0.1`, sends an attacker
`Host` and `Origin`, lists the registered tool, and invokes it successfully.&lt;/p&gt;
&lt;p&gt;The same attacker `Origin` is rejected by PraisonAI&amp;#39;s current Streamable HTTP
transport with HTTP 403. The vulnerability is therefore a sibling transport
guard gap in the legacy SSE wrapper, not intended behavior.&lt;/p&gt;
&lt;p&gt;## Affected product&lt;/p&gt;
&lt;p&gt;- Repository: `MervinPraison/PraisonAI`
- Packages:
  - `praisonaiagents`
  - `praisonai`
- Primary component:
  `src/praisonai-agents/praisonaiagents/mcp/mcp_server.py`
- CLI wrappers:
  - `src/praisonai/praisonai/cli/commands…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: praisonaiagents, PyPI: praisonai&lt;/p&gt;
&lt;p&gt;# PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`praisonaiagents.mcp.ToolsMCPServer.run_sse()` builds a Starlette MCP
HTTP+SSE server around `mcp.server.sse.SseServerTransport`. The server exposes
`/sse` and `/messages/`, but it does not validate `Origin`, does not validate
`Host`, and does not require any authentication.&lt;/p&gt;
&lt;p&gt;This is reachable through supported PraisonAI code paths that wrap configured
MCP server tools and re-expose them over legacy SSE:&lt;/p&gt;
&lt;p&gt;- `praisonai mcp run &amp;lt;name&amp;gt; --transport sse`
- `praisonai serve mcp --name &amp;lt;name&amp;gt; --transport sse`
- direct use of `ToolsMCPServer(...).run_sse(...)` or
  `launch_tools_mcp_server(..., transport=&amp;#34;sse&amp;#34;)`&lt;/p&gt;
&lt;p&gt;A malicious website can use DNS rebinding against a local or internal
PraisonAI SSE MCP server and send requests with attacker-controlled `Host` and
`Origin` headers. The local PoV binds only to `127.0.0.1`, sends an attacker
`Host` and `Origin`, lists the registered tool, and invokes it successfully.&lt;/p&gt;
&lt;p&gt;The same attacker `Origin` is rejected by PraisonAI&amp;#39;s current Streamable HTTP
transport with HTTP 403. The vulnerability is therefore a sibling transport
guard gap in the legacy SSE wrapper, not intended behavior.&lt;/p&gt;
&lt;p&gt;## Affected product&lt;/p&gt;
&lt;p&gt;- Repository: `MervinPraison/PraisonAI`
- Packages:
  - `praisonaiagents`
  - `praisonai`
- Primary component:
  `src/praisonai-agents/praisonaiagents/mcp/mcp_server.py`
- CLI wrappers:
  - `src/praisonai/praisonai/cli/commands…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-vmf9-xx9w-86wx</guid>
    </item>
  </channel>
</rss>
