<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T15:03:35.474055+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-57112</id>
    <title>CVE-2026-57112 — PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools</title>
    <updated>2026-10-03T15:03:35.475793+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> MervinPraison PraisonAI, MervinPraison praisonaiagents</p>
<p>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'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.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-57112"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-vmf9-xx9w-86wx</id>
    <title>GHSA-vmf9-xx9w-86wx — PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools</title>
    <updated>2026-10-03T15:03:35.475851+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: praisonaiagents, PyPI: praisonai</p>
<p># PraisonAI ToolsMCPServer legacy SSE transport accepts attacker Host/Origin and exposes registered tools</p>
<p>## Summary</p>
<p>`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.</p>
<p>This is reachable through supported PraisonAI code paths that wrap configured
MCP server tools and re-expose them over legacy SSE:</p>
<p>- `praisonai mcp run &lt;name&gt; --transport sse`
- `praisonai serve mcp --name &lt;name&gt; --transport sse`
- direct use of `ToolsMCPServer(...).run_sse(...)` or
  `launch_tools_mcp_server(..., transport="sse")`</p>
<p>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.</p>
<p>The same attacker `Origin` is rejected by PraisonAI'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.</p>
<p>## Affected product</p>
<p>- Repository: `MervinPraison/PraisonAI`
- Packages:
  - `praisonaiagents`
  - `praisonai`
- Primary component:
  `src/praisonai-agents/praisonaiagents/mcp/mcp_server.py`
- CLI wrappers:
  - `src/praisonai/praisonai/cli/commands…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-vmf9-xx9w-86wx"/>
  </entry>
</feed>
