CVE-2026-44338 PraisonAI Unauthenticated API Bypass — Active Exploitation Within 4 Hours of Disclosure (Sysdig TRT)

CVE-2026-44338 PraisonAI Unauthenticated API Bypass (TL-2026-0502), also tracked as GHSA-6rmh-7xcm-cpxj, is a high-severity software vulnerability scored CVSS 7.3, first published 2026-05-12. It has no confirmed attribution, affects MervinPraison PraisonAI, references 1 CVE (CVE-2026-44338), maps to 19 MITRE ATT&CK techniques (T1005, T1059.004, T1059.006), and is covered by 9 detection rules and 21 indicators of compromise.

Key facts for TL-2026-0502

Threat ID
TL-2026-0502
Also known as
GHSA-6rmh-7xcm-cpxj, PraisonAI Auth Bypass
Severity
HIGH
CVSS
7.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L)
Status
MONITORING
Category
VULNERABILITY
First published
2026-05-12
Last reviewed
2026-05-12
Attribution confidence
NONE
Motivation
UNKNOWN
Target sectors
technology, ai-development, research, saas, fintech
Target regions
Global
Detection rules
9
Indicators of compromise
21

Malware and tooling in CVE-2026-44338 PraisonAI Unauthenticated API Bypass

Malware and tooling: CVE-Detector (v1.0)

PraisonAI, an open-source multi-agent orchestration framework (~7,100 GitHub stars), shipped its legacy api_server.py entrypoint with authentication disabled by default (AUTH_ENABLED = False, AUTH_TOKEN = None), exposing GET /agents and POST /chat to any unauthenticated caller across versions 2.5.6 through 4.6.33. GitHub advisory GHSA-6rmh-7xcm-cpxj (CVE-2026-44338, CVSS 7.3) was published on 2026-05-11 at 13:56:16 UTC; Sysdig Threat Research Team observed the first targeted request from 146.190.133.49 (AS14061 DigitalOcean) identifying as CVE-Detector/1.0 against the documented vulnerable path at 17:40:53 UTC the same day — an advisory-to-exploitation latency of 3 hours, 44 minutes, 39 seconds. Sysdig frames this as part of an accelerating pattern of rapid post-disclosure exploitation alongside CVE-2026-33626 (LMDeploy) and CVE-2026-33017 (Langflow).

How CVE-2026-44338 PraisonAI Unauthenticated API Bypass works

## Overview

CVE-2026-44338 is a critical-impact authentication-bypass vulnerability in PraisonAI, an open-source multi-agent LLM orchestration framework maintained by MervinPraison with roughly 7,100 GitHub stars. The legacy Flask-based API server entrypoint (`src/praisonai/api_server.py`) was shipped with module-level flags `AUTH_ENABLED = False` and `AUTH_TOKEN = None`, and the helper `check_auth()` was implemented to return `True` whenever authentication is disabled. The two protected routes — `GET /agents` and `POST /chat` — therefore fail open by design in every default deployment, allowing any unauthenticated caller on the network to enumerate agent configuration and trigger configured workflows.

GitHub advisory GHSA-6rmh-7xcm-cpxj was published on 2026-05-11 13:56:16 UTC. The Sysdig Threat Research Team's early-warning sensor network observed initial generic disclosure-paths recon (`/.env`, `/admin`, `/users/sign_in`, `/eval`, `/calculate`, `/Gemfile.lock`) from a single DigitalOcean IP (146.190.133.49 — AS14061, DigitalOcean LLC, US) at 17:32:50 UTC, followed eight minutes later by a PraisonAI-specific second pass enumerating `/praisonai/version.txt`, `/docs`, `/openapi.json`, `/api/agents/config`, `/api/agents`, `/api/v1/agents`, `/api/tasks`, `/api/tools`, `/agents`, and a series of MCP-server discovery paths (`/api/mcp/config`, `/api/mcp/servers`, `/api/mcp/list`, `/api/mcp/status`, `/mcp/config`). At 17:40:53 UTC the scanner issued a `GET /agents` request carrying the User-Agent `CVE-Detector/1.0` — the canonical proof-of-vulnerability probe described by the advisory. A vulnerable host responds 200 OK with a JSON body of the form `{"agent_file":"agents.yaml","agents":[...]}`, disclosing both the agent-definition filename and full agent list, including any tools wired into the workflow.

The advisory-to-first-targeted-exploitation latency of 3h 44m 39s places this incident alongside three other rapid-exploitation events Sysdig has documented in 2026: Marimo (RCE — under 10 hours), LMDeploy (CVE-2026-33626 — exploited in 12 hours), and Langflow (CVE-2026-33017 — compromised in 20 hours). The TRT positions CVE-2026-44338 as another data point in a Zero-Day-Clock trend driven by AI-assisted patch reverse-engineering, where opportunistic actors can produce functional exploits within minutes of public disclosure and weaponize them against internet-exposed instances before defenders patch.

## Root Cause

The vulnerable file is `src/praisonai/api_server.py`, a legacy Flask blueprint that predates the project's newer FastAPI server (which binds to 127.0.0.1 by default and uses bearer-token authentication). The Flask server contains module-level constants `AUTH_ENABLED = False` and `AUTH_TOKEN = None`, and the `check_auth()` decorator implementation returns `True` (i.e. authorized) whenever `AUTH_ENABLED` is falsy, regardless of any Authorization header. Operators who launch PraisonAI's API via the documented `python -m praisonai.api_server` workflow therefore expose `GET /agents` and `POST /chat` to any caller able to reach the listening interface, which defaults to all interfaces (`0.0.0.0`).

The issue maps to three CWEs: CWE-306 (Missing Authentication for Critical Function), CWE-668 (Exposure of Resource to Wrong Sphere), and CWE-1188 (Initialization of a Resource with an Insecure Default). NVD recorded CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L = 7.3 (HIGH); real-world impact is materially higher in deployments where PraisonAI agents are configured with high-privilege tools (shell, code_interpreter, file I/O, HTTP requestor).

## Exploit Chain

1. **Reconnaissance (TA0043).** The attacker performs broad scanning of internet-facing hosts using a generic disclosure-path wordlist (`/.env`, `/admin`, `/users/sign_in`, etc.). The first pass against any individual host is technology-agnostic — a baseline fingerprint sweep, not yet PraisonAI-specific. 2. **Targeted enumeration (TA0043 — T1595.002).** Where the first pass returns FastAPI-style responses on `/docs` or `/openapi.json`, the scanner pivots to a PraisonAI-tailored wordlist hitting `/praisonai/version.txt`, `/api/agents/config`, `/api/agents`, `/api/v1/agents`, `/api/tasks`, `/api/tools`, `/agents`, and MCP-server discovery endpoints. This pivot occurred ~8 minutes after the initial pass in the observed Sysdig telemetry. 3. **Vulnerability confirmation (TA0001 — T1190).** A `GET /agents` request with User-Agent `CVE-Detector/1.0` produces a 200 OK body disclosing `agent_file` and the agent list. Receipt of this response confirms an unpatched 2.5.6 ≤ version ≤ 4.6.33 instance. 4. **Workflow execution (TA0002).** The attacker issues `POST /chat` with a JSON body `{"message": "..."}` to trigger the configured agent workflow. The behavior of this request is governed entirely by the operator's `agents.yaml`: workflows wired to `code_interpreter` enable arbitrary Python execution; workflows wired to `shell` enable command execution; workflows wired to `http_request` or similar tools enable SSRF/egress; workflows with no destructive tools still burn LLM tokens. 5. **Resource hijacking / collection (TA0040 — T1496 / TA0009 — T1213).** Even read-only deployments leak sensitive workflow design via `GET /agents` (system prompts, tool wiring) and incur direct cost via looped `POST /chat` requests that consume the operator's model-provider quota.

## Attacker Infrastructure

The single observed source IP at the time of Sysdig's reporting is 146.190.133.49, hosted on AS14061 (DigitalOcean LLC, US). The scanner's identifying User-Agent string `CVE-Detector/1.0` is operationally useful as a detection signature; Sysdig notes the string is unusual for any benign tooling and treats it as a strong opportunistic-scanner indicator. Two passes were observed per target, each containing ~70 requests over ~50 seconds. No persistence, beaconing, or post-exploitation tooling has been attributed publicly at the time of the disclosure window.

## Affected and Fixed Versions

Vulnerable: PraisonAI 2.5.6 through 4.6.33 inclusive (PyPI: `praisonai`). At the moment of GHSA publication, the current PyPI release (4.6.33) was the most recent vulnerable build. The patched release 4.6.34 either enables authentication by default, removes the legacy `api_server.py` from the documented launch path, or binds the legacy server to loopback — operators are strongly advised to upgrade rather than configure-out the issue. The newer FastAPI-based server in the same project is not affected by this CVE.

## Remediation

- **Immediate:** Upgrade to PraisonAI ≥ 4.6.34. If upgrade is blocked, stop the legacy `api_server.py` process or bind it to 127.0.0.1 / a trusted private network. Block inbound traffic to ports running PraisonAI from the public internet. - **Detection:** Alert on inbound `GET /agents` or `POST /chat` requests against any PraisonAI-hosting interface that lack an `Authorization` header. Alert on the literal string `CVE-Detector/1.0` in HTTP user-agent fields. Search HTTP logs back to 2026-05-11 13:56 UTC for requests to `/praisonai/version.txt`, `/api/agents/config`, `/api/mcp/config`. - **Triage:** Audit model-provider (OpenAI, Anthropic, Google) billing dashboards from 2026-05-11 onward for unexplained usage spikes. Rotate any API keys, credentials, or tokens referenced from `agents.yaml`. Review agent definitions for tools (shell, code_interpreter, HTTP) that could have been weaponized, and assume those tools were invoked if the host was internet-exposed during the window. - **Long-term:** Treat agent-framework launch entrypoints as production services subject to standard hardening (token auth, TLS, network segmentation, rate limiting, request logging). Bake AI-framework CVE feeds into routine vulnerability-management cadence given the demonstrated <24h exploitation pattern.

MITRE ATT&CK techniques used in TL-2026-0502

Collection

T1005 Data from Local System; T1213 Data from Information Repositories

Execution

T1059.004 Command and Scripting Interpreter: Unix Shell; T1059.006 Command and Scripting Interpreter: Python

Discovery

T1082 System Information Discovery; T1083 File and Directory Discovery

Initial Access

T1133 External Remote Services; T1190 Exploit Public-Facing Application

Impact

T1496 Resource Hijacking; T1499.003 Endpoint Denial of Service: Application Exhaustion Flood

Credential Access

T1552.001 Unsecured Credentials: Credentials In Files

Resource Development

T1583.003 Acquire Infrastructure: Virtual Private Server; T1588.005 Obtain Capabilities: Exploits

Reconnaissance

T1592.002 Gather Victim Host Information: Software; T1595 Active Scanning; T1595.001 Active Scanning: Scanning IP Blocks; T1595.002 Active Scanning: Vulnerability Scanning; T1595.003 Active Scanning: Wordlist Scanning

Defense Evasion

T1684.001 Impersonation

Affected products and versions in CVE-2026-44338 PraisonAI Unauthenticated API Bypass

  • MervinPraison — PraisonAI
    Vulnerable versions: >=2.5.6,<=4.6.33
    Fixed in: 4.6.34

Remediation for CVE-2026-44338 PraisonAI Unauthenticated API Bypass

Patches

  • PraisonAI 4.6.34 (PyPI) — fixes default authentication state in legacy api_server.py

Immediate actions

  • Upgrade PraisonAI to >= 4.6.34 across all hosts (pip install --upgrade praisonai)
  • Stop any running legacy api_server.py processes that cannot be upgraded immediately
  • Block inbound traffic to PraisonAI listening ports (typically 8080/8000) at the network perimeter
  • Audit model-provider (OpenAI, Anthropic, Google) billing dashboards from 2026-05-11 13:56 UTC forward for anomalous token consumption
  • Rotate API keys, OAuth tokens, and credentials referenced from agents.yaml on any host that was internet-exposed during the window

Workarounds

  • Set AUTH_ENABLED=True and AUTH_TOKEN=<strong-random-token> via environment variables before launching api_server.py (vulnerable builds may not honor this — upgrade is preferred)
  • Run PraisonAI behind a reverse proxy (nginx, Caddy, Cloudflare) that enforces authentication and IP allowlisting
  • Migrate from the legacy Flask api_server.py to the newer FastAPI server, which binds to 127.0.0.1 by default

Longer-term hardening

  • Bind agent-framework API servers to 127.0.0.1 or trusted private networks by default; require explicit operator opt-in for public exposure
  • Enforce bearer-token or mTLS authentication on every agent-framework endpoint regardless of default flag values
  • Subscribe to GitHub Security Advisories for AI/agent frameworks in use (PraisonAI, LangChain, Langflow, LMDeploy, Marimo, AutoGen, CrewAI) and treat them as same-day patch candidates
  • Implement WAF rules that block requests with suspicious user-agents (CVE-Detector/1.0 and similar disclosure-tracker strings) and rate-limit unauthenticated probes to API discovery paths
  • Add agent-framework configuration files (agents.yaml, tool specs) to credential-scanning and secret-management policy

CVEs associated with CVE-2026-44338 PraisonAI Unauthenticated API Bypass

CVE-2026-44338

Weaknesses (CWE) in CVE-2026-44338 PraisonAI Unauthenticated API Bypass

CWE-306, CWE-668, CWE-1188

Timeline of CVE-2026-44338 PraisonAI Unauthenticated API Bypass

  • CVE-2026-44338 reserved and initial GitHub advisory record created for PraisonAI authentication bypass.
  • NVD record published for CVE-2026-44338 with CVSS:3.1 score 7.3 (HIGH) and CWE-306, CWE-668, CWE-1188 mappings.
  • First targeted GET /agents probe with User-Agent CVE-Detector/1.0 issued at 17:40:55 UTC against the documented vulnerable path — advisory-to-exploitation latency of 3 hours, 44 minutes, 39 seconds.
  • Same source pivoted to PraisonAI-tailored wordlist at 17:40:53 UTC, probing /praisonai/version.txt, /docs, /openapi.json, /api/agents/config, /api/agents, /api/v1/agents, /api/tasks, /api/tools, /agents, and MCP-server discovery paths.
  • First generic disclosure-path recon observed by Sysdig TRT from 146.190.133.49 (AS14061 DigitalOcean) at 17:32:50 UTC, probing /.env, /admin, /users/sign_in, /eval, /calculate, /Gemfile.lock.
  • PraisonAI 4.6.34 released to PyPI, fixing the default-disabled authentication state in legacy api_server.py.
  • GitHub advisory GHSA-6rmh-7xcm-cpxj published publicly at 13:56:16 UTC, naming PraisonAI versions 2.5.6 through 4.6.33 as vulnerable and 4.6.34 as fixed.
  • Threadlinqs Intelligence publishes TL-2026-0502 with full exploit-chain analysis, MITRE mapping, IOC set, and detection coverage for AI-orchestration-framework defenders.
  • Sysdig Threat Research Team publishes public analysis blog framing the incident within the broader rapid-exploitation trend alongside Marimo, LMDeploy (CVE-2026-33626), and Langflow (CVE-2026-33017).
  • As of 2026-05-29, CVE-2026-44338 (PraisonAI fail-open auth bypass, CVSS 7.3) was patched same-day in v4.6.34, but observed activity was opportunistic scanning (CVE-Detector/1.0) and it is not in CISA KEV. Unpatched internet-exposed instances of this ~7,100-star framework remain exploitable amid an ongoing AI-framework rapid-exploitation trend, so it stays a live monitoring concern.

Sources cited for CVE-2026-44338 PraisonAI Unauthenticated API Bypass

Threats related to CVE-2026-44338 PraisonAI Unauthenticated API Bypass

Detection coverage for TL-2026-0502

As of 2026-05-12, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-0502 across Splunk SPL, Microsoft KQL and Sigma, covering 21 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Latest Threats