Skip to main content

PraisonAI CVE-2026-60090

| EUVDEUVD-2026-43175 CRITICAL
SQL Injection (CWE-89)
2026-07-11 VulnCheck GHSA-q65p-7p84-495c
9.3
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.8 HIGH

SQL/CQL injection yields full DB read/write/destroy (C/I/A:H); PR:L because a caller must be able to invoke create_collection with a controllable dimension rather than fully anonymous access.

3.1 AV:N/AC:L/PR:L/UI:N/S:N/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

1
Analysis Generated
Jul 11, 2026 - 14:03 vuln.today

DescriptionCVE.org

PraisonAI before 4.6.78 fails to validate the caller-controlled dimension argument in the PGVector and Cassandra knowledge-store create_collection() backends. Although schema, keyspace, and collection-name identifiers are validated, the dimension value (declared as int but not enforced at runtime) is interpolated directly into the vector column of the generated CREATE TABLE DDL. A caller able to influence collection-creation dimensions can pass a string such as '3); DROP TABLE tenant_secrets; --' to inject SQL/CQL tokens into the statement executed by the database driver.

AnalysisAI

SQL/CQL injection in PraisonAI's PGVector and Cassandra knowledge-store backends before 4.6.78 allows a caller who controls the create_collection() dimension argument to inject arbitrary database tokens. Although the code validates schema, keyspace, and collection-name identifiers, the dimension value - typed as int but never enforced at runtime - is string-interpolated directly into the vector column of the generated CREATE TABLE DDL, so a payload like '3); DROP TABLE tenant_secrets; --' executes against the backing database. No public exploit identified at time of analysis; the flaw was reported by VulnCheck and a vendor patch is available.

Technical ContextAI

PraisonAI is a Python multi-agent / agentic-AI orchestration framework that ships pluggable knowledge-store (vector memory) backends. The vulnerable code paths are the create_collection() implementations for the PGVector (PostgreSQL + pgvector extension) and Cassandra/CQL backends, which build a CREATE TABLE statement declaring a vector-typed column whose dimensionality is set from the caller-supplied dimension parameter. This is a textbook CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) instance caused by trusting a language-level type hint (int) instead of enforcing/parameterizing the value at runtime - because DDL column definitions and vector dimensions cannot be bound as ordinary query parameters, the developer fell back to string interpolation and validated only the identifier fields, leaving the numeric-looking dimension as an unfiltered injection sink. The affected component is cpe:2.3:a:mervinpraison:praisonai across all versions prior to 4.6.78.

RemediationAI

Vendor-released patch: upgrade PraisonAI to version 4.6.78 or later, which is the primary and recommended fix (patch commit https://github.com/MervinPraison/PraisonAI/commit/3aa9cbc2bd49c23a32be0a89a5e620d13d843eab; advisory https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-wf65-4jjx-q444). If you cannot upgrade immediately, ensure the dimension argument passed to create_collection() is never derived from untrusted input: enforce strict server-side validation by casting/coercing the value to a bounded positive integer (e.g. reject anything that is not int() within an expected range) before it reaches the DDL, which closes the injection at the call site with negligible functional side effects. Additionally, run the PGVector/Cassandra backend under a least-privilege database role that lacks DROP/DDL rights on unrelated tables so an injected statement cannot destroy tenant data - the trade-off is that legitimate collection creation must be performed under a separate privileged migration path. Avoid exposing knowledge-store collection creation directly to end users.

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

CVE-2026-55535 MEDIUM POC
6.8 Aug 25

Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl

Share

CVE-2026-60090 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy