PraisonAI Authentication Bypass via PRAISONAI_CALL_AUTH=disabled
A high-severity authentication bypass vulnerability in PraisonAI versions prior to 4.6.61 allows unauthenticated attackers to invoke any registered agent by setting the `PRAISONAI_CALL_AUTH=disabled` environment variable, potentially leading to arbitrary code execution or system compromise.
A critical authentication bypass exists in PraisonAI, affecting versions prior to 4.6.61. The vulnerability stems from an undocumented "feature" where setting the PRAISONAI_CALL_AUTH=disabled environment variable completely deactivates authentication for the /api/v1/agents/{id}/invoke endpoint. This misconfiguration is highly likely to be present in production Docker and Docker Compose deployments due to the application's own error messages explicitly advertising this bypass as a convenience option. Attackers can leverage this to gain full unauthenticated access to agent invocation functionalities, enabling them to trigger any registered agent and potentially execute arbitrary actions depending on the agent's configured tools, leading to severe compromise of the host system or connected services.
Attack Chain
- Reconnaissance: An attacker identifies an internet-facing PraisonAI instance, typically deployed via Docker or Docker Compose.
- Vulnerability Identification: The attacker attempts to interact with the
/api/v1/agents/{id}/invokeendpoint without authentication, potentially observing error messages that suggest settingPRAISONAI_CALL_AUTH=disabledto bypass auth, confirming the misconfiguration. - Unauthenticated API Call: The attacker constructs a
POSTrequest to/api/v1/agents/{agent_id}/invokewith a malicious payload, targeting a known or guessed agent ID, and sends it to the vulnerable PraisonAI instance without providing any authentication credentials. - Agent Triggering: Due to the
PRAISONAI_CALL_AUTH=disabledsetting, the PraisonAI server bypasses all authentication checks and processes the unauthenticated request, triggering the specified agent. - Execution via Agent Tools: The activated agent, configured with specific tools (e.g., shell access, Python interpreter, API keys), executes arbitrary actions as dictated by the attacker's payload injected via the
invokeendpoint. - Impact: This unauthenticated execution leads to consequences such as data exfiltration, remote code execution, system compromise, or further lateral movement within the compromised environment.
Impact
The primary impact of this vulnerability is full unauthenticated access to the PraisonAI agent invocation API. If exploited, an attacker can trigger any registered agent on the server without needing valid credentials. This means that if an agent has been configured with access to sensitive systems or functionalities (e.g., shell command execution, database access, cloud API keys), the attacker can leverage these capabilities to execute arbitrary actions. This can result in data exfiltration, privilege escalation, remote code execution, or complete compromise of the underlying server and connected resources. The ease of exploitation and potential for severe consequences makes this a critical security concern for organizations running affected PraisonAI versions.
Recommendation
- Immediately update PraisonAI instances to version
4.6.61or newer to remediate the vulnerability. - Review all Dockerfiles, Docker Compose configurations, and environment variable settings for PraisonAI deployments to ensure
PRAISONAI_CALL_AUTH=disabledis not present, or is explicitly set toenabled. - Deploy the provided
Detect PraisonAI Unauthenticated Agent InvocationSigma rule to your SIEM to monitor for exploitation attempts against the/api/v1/agents/{id}/invokeendpoint. - Deploy the provided
Detect PraisonAI PRAISONAI_CALL_AUTH=disabled MisconfigurationSigma rule to your EDR/SIEM to identify systems misconfigured with the vulnerable environment variable. - Implement strict network access controls to limit access to PraisonAI instances, particularly the
/api/v1/agents/{id}/invokeAPI endpoint, to only trusted internal networks or specific services.
Detection coverage 2
Detect PraisonAI Unauthenticated Agent Invocation
highDetects unauthenticated POST requests to the PraisonAI agent invocation endpoint, which could indicate exploitation of the PRAISONAI_CALL_AUTH=disabled vulnerability or reconnaissance for such misconfiguration.
Detect PraisonAI PRAISONAI_CALL_AUTH=disabled Misconfiguration
mediumDetects processes where `docker` or `docker-compose` commands are used to explicitly set `PRAISONAI_CALL_AUTH=disabled`, indicating a potentially vulnerable PraisonAI deployment.
Detection queries are available on the platform. Get full rules →