<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Praisonai (&gt;= 4.5.115, &lt; 4.6.61) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/praisonai--4.5.115--4.6.61/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 18 Jun 2026 15:00:49 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/praisonai--4.5.115--4.6.61/feed.xml" rel="self" type="application/rss+xml"/><item><title>PraisonAI A2U Incomplete Authentication Fix (GHSA-jxcw-qp4h-6jfq)</title><link>https://feed.craftedsignal.io/briefs/2026-06-praisonai-unauth-a2u/</link><pubDate>Thu, 18 Jun 2026 15:00:49 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-06-praisonai-unauth-a2u/</guid><description>An incomplete fix in PraisonAI's `praisonai serve a2u` command leaves the A2U Agent-to-User event stream server unauthenticated by default, potentially exposing sensitive agent event streams to any attacker who can reach the server, bypassing intended authentication mechanisms for versions `4.5.115` to `4.6.60`.</description><content:encoded><![CDATA[<p>A critical vulnerability exists in PraisonAI, affecting versions <code>4.5.115</code> through <code>4.6.60</code>, stemming from an incomplete fix for a previously disclosed unauthenticated access issue (GHSA-f292-66h9-fpmf). When an operator starts the A2U (Agent-to-User) event stream server using the documented <code>praisonai serve a2u</code> CLI command without explicitly configuring the <code>A2U_AUTH_TOKEN</code> environment variable, the server runs without any authentication. This default behavior contradicts the secure-by-default posture implied by the previous fix and current documentation, allowing unauthenticated access to sensitive agent event streams such as responses, tool calls, thinking/progress events, and stream metadata. Attackers can leverage this oversight to gain unauthorized insight into agent activities and potentially exfiltrate sensitive operational data if the server is exposed on a network interface.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An operator installs PraisonAI versions between <code>4.5.115</code> and <code>4.6.60</code>.</li>
<li>The operator starts the A2U server using the command <code>praisonai serve a2u --host 0.0.0.0 --port 8002</code> (or similar) without setting the <code>A2U_AUTH_TOKEN</code> environment variable.</li>
<li>The <code>_create_a2u_app()</code> function in <code>src/praisonai/praisonai/cli/features/serve.py</code> registers A2U routes.</li>
<li>The <code>create_a2u_routes()</code> function in <code>src/praisonai/praisonai/endpoints/a2u_server.py</code> checks for <code>A2U_AUTH_TOKEN</code> via <code>os.environ.get()</code>.</li>
<li>Since <code>A2U_AUTH_TOKEN</code> is not set, the authentication mechanism (<code>_authenticate_request()</code>) returns <code>None</code>, effectively disabling authentication for all A2U endpoints.</li>
<li>An unauthenticated attacker makes an HTTP GET request to <code>/a2u/info</code>, <code>/a2u/subscribe</code>, or <code>/a2u/events/{stream_name}</code> on the exposed PraisonAI A2U server.</li>
<li>The server responds with sensitive agent event stream data, including agent responses, tool calls, thinking/progress events, and stream metadata, without requiring any credentials.</li>
<li>The attacker successfully exfiltrates sensitive operational data or gains intelligence on agent activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Attackers who can reach an unauthenticated PraisonAI A2U server are able to subscribe to sensitive agent event streams without credentials. This exposed data includes agent responses, details of tool calls, internal thinking/progress events, and stream metadata. Organizations relying on PraisonAI and believing the previously announced fix or the secure-by-default documentation may inadvertently deploy the A2U server on network interfaces, exposing these streams. This could lead to the unauthorized disclosure of proprietary operational logic, sensitive internal data processed by agents, or intelligence on ongoing tasks, potentially compromising business operations, intellectual property, or client data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Upgrade PraisonAI to a patched version</strong>: Ensure all PraisonAI installations are updated to version <code>4.6.61</code> or later, as specified in the affected range <code>pip:praisonai &gt;= 4.5.115, &lt; 4.6.61</code>.</li>
<li><strong>Implement Authentication</strong>: For any PraisonAI A2U server currently deployed, explicitly set the <code>A2U_AUTH_TOKEN</code> environment variable before starting the <code>praisonai serve a2u</code> command to enforce authentication.</li>
<li><strong>Deploy the Sigma rules</strong>: Deploy the provided Sigma rules to detect unauthenticated access attempts to A2U endpoints in webserver logs.</li>
<li><strong>Review deployment configurations</strong>: Audit existing <code>praisonai serve a2u</code> deployments to confirm that <code>--host 0.0.0.0</code> is not used without proper authentication enabled, or that network segmentation limits access to trusted internal hosts only.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>incomplete-fix</category><category>authentication-bypass</category><category>api-server</category><category>misconfiguration</category><category>data-exposure</category><category>praisonai</category></item></channel></rss>