<?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>CVE-2026-44338 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-44338/</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>Mon, 11 May 2026 13:57:56 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-44338/feed.xml" rel="self" type="application/rss+xml"/><item><title>PraisonAI Legacy API Server Authentication Bypass (CVE-2026-44338)</title><link>https://feed.craftedsignal.io/briefs/2026-05-praisonai-auth-bypass/</link><pubDate>Mon, 11 May 2026 13:57:56 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-praisonai-auth-bypass/</guid><description>PraisonAI ships a legacy Flask API server with authentication disabled by default, allowing any reachable caller to access `/agents` and trigger the configured `agents.yaml` workflow through `/chat` without providing a token (CVE-2026-44338).</description><content:encoded><![CDATA[<p>PraisonAI includes a legacy Flask API server (<code>src/praisonai/api_server.py</code>) that, by default, ships with authentication disabled. This is due to hardcoded values <code>AUTH_ENABLED = False</code> and <code>AUTH_TOKEN = None</code>, causing the <code>check_auth()</code> function to always return <code>True</code> and effectively bypass authentication checks on <code>/agents</code> and <code>/chat</code> endpoints. The affected versions range from v2.5.6 to 4.6.33, which is the current PyPI release as of May 1, 2026. The <code>serve agents</code> command is not affected, but the older <code>api_server.py</code> binds to 0.0.0.0:8080 by default, and the generated sample API deployment YAML recommends <code>host: 0.0.0.0</code> together with <code>auth_enabled: false</code>, further exacerbating the issue. This vulnerability, identified as CVE-2026-44338, allows unauthenticated access to sensitive functionality.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Target identifies a PraisonAI instance running the vulnerable legacy API server.</li>
<li>Target sends a GET request to <code>/agents</code> endpoint to enumerate available agents.</li>
<li>The API server, due to disabled authentication, grants access to the <code>/agents</code> endpoint without requiring any authentication credentials.</li>
<li>The server responds with agent metadata, revealing the configured <code>agents.yaml</code> file.</li>
<li>Target crafts a POST request to the <code>/chat</code> endpoint, including a <code>message</code> key in the JSON payload.</li>
<li>The API server processes the request, bypassing authentication, and executes the workflow defined in <code>agents.yaml</code> by calling <code>PraisonAI(agent_file=&quot;agents.yaml&quot;).run()</code>.</li>
<li>The API server returns the result of the <code>PraisonAI.run()</code> call to the unauthenticated attacker.</li>
<li>Depending on the configuration specified in agents.yaml, this can result in data exfiltration, code execution, or denial of service via resource exhaustion.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows any attacker with network access to the vulnerable PraisonAI instance to enumerate configured agents, trigger workflows defined in <code>agents.yaml</code>, consume model/API quota, and potentially expose sensitive information. The impact is determined by the capabilities defined in the <code>agents.yaml</code> file, but the authentication bypass itself is unconditional in the shipped legacy server. This vulnerability affects PraisonAI versions 2.5.6 through 4.6.33.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Detect Unauthenticated Access to PraisonAI Agents Endpoint&rdquo; to detect unauthenticated access attempts to the <code>/agents</code> endpoint within your web server logs.</li>
<li>Deploy the Sigma rule &ldquo;Detect Unauthenticated Chat Request to PraisonAI API Server&rdquo; to identify unauthorized requests being made to the <code>/chat</code> endpoint to trigger workflow executions.</li>
<li>Upgrade PraisonAI to a version that addresses CVE-2026-44338 or migrate to the newer <code>serve agents</code> command which defaults to binding on localhost and supports API keys.</li>
<li>If upgrading is not immediately feasible, ensure the legacy API server&rsquo;s <code>AUTH_ENABLED</code> setting is set to <code>True</code> and configure a strong <code>AUTH_TOKEN</code> to mitigate the unauthenticated access vulnerability.</li>
<li>Review and restrict network access to the legacy API server to minimize the attack surface and prevent unauthorized external access to the vulnerable endpoints.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>authentication bypass</category><category>API</category><category>CVE-2026-44338</category></item></channel></rss>