Missing authentication in PraisonAI recipe serve command exposes API
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
PraisonAI from 4.5.112 before 4.6.59 has a missing authentication flaw (CWE-306). The praisonai recipe serve command starts the Recipe HTTP server on a non-localhost interface without authentication, because the authentication middleware is not attached when no auth config is set. A remote unauthenticated attacker can reach the recipe API and, when enabled, the /admin/reload endpoint. CISA SSVC lists exploitation as proof of concept.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
PraisonAI is a multi-agent teams system. From version 4.5.112 to before version 4.6.59, PraisonAI's installed console entrypoint is Typer-first. In current releases, the recipe command is registered in the Typer app and praisonai recipe serve dispatches to the deprecated Typer command in src/praisonai/praisonai/cli/commands/recipe.py. That Typer command can start the Recipe HTTP server on a non-localhost interface with no authentication. It prints a deprecation warning, and then launches the server. Because config.auth is absent, create_app() does not attach the API-key or JWT middleware. Unauthenticated requests can then reach the recipe API and, when enabled, /admin/reload. This issue has been patched in version 4.6.59.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| MervinPraison | PraisonAI | 4.5.112 to before 4.6.59 | 4.6.59 | Patch available | CNA |
| — | praisonai (PyPI) | 4.5.112 to before 4.6.59 | 4.6.59 | Patch available | GHSA-5qw8-f2g9-ff29 |
- PraisonAI VendorMervinPraison Affected 4.5.112 to before 4.6.59 Fixed in 4.6.59 Patch available CNA
- praisonai (PyPI) Vendor— Affected 4.5.112 to before 4.6.59 Fixed in 4.6.59 Patch available GHSA-5qw8-f2g9-ff29
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* | — | — | MervinPraison |
- cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* Versions — — ·MervinPraison
Remediation
Upgrade the praisonai PyPI package to 4.6.59. The sources list no fixed version for PraisonAI.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA PraisonAI (MervinPraison) Fixed in 4.6.59
- Fix · GHSA-5qw8-f2g9-ff29 praisonai (PyPI) Fixed in 4.6.59 Advisory →
Timeline
- 2026-10-23 Threatist record created from CVE-2026-56836
- 2026-10-24 Priority changed: MEDIUM → LOW
- 2026-10-30 CISA SSVC decision points changed
- 2026-10-30 Priority changed: LOW → HIGH
References
More MervinPraison vulnerabilities
- TI-2026-79619 Missing authentication in PraisonAI AgentOS exposes agent chat CVSS 3.1CRITICAL 9.8
- TI-2026-71236 Missing access control in PraisonAI AgentTeam exposes agent endpoints CVSS 3.1CRITICAL 9.8
- TI-2026-44052 PraisonAI before 1.6.78 Remote Code Execution via CodeAgent CVSS 4.0CRITICAL 10.0
- TI-2026-41123 praisonai-platform 0.1.4 still boots on the hardcoded JWT secret dev-secret-change-me (default-open production guard) CVSS 3.1CRITICAL 9.8
- TI-2026-41122 praisonai-platform: default JWT signing secret 'dev-secret-change-me' enables token forgery CVSS 3.1CRITICAL 9.8
- TI-2026-41118 PraisonAI MCPServer exposes unauthenticated HTTP tools/call CVSS 3.1CRITICAL 9.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences