Skip to content
OpenAdvisories
High · 8.1 CVE-2026-41496 EUVD-2026-28594GHSA-rg3h-x3jw-7jm5PYSEC-2026-2923PYSEC-2026-2952

PraisonAI: SQL Injection via unvalidated `table_prefix` in 9 conversation store backends (incomplete fix for CVE-2026-40315)

Published May 8, 2026 · Updated May 8, 2026 · Assigned by GitHub_M

Description

PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.9 and praisonaiagents version 1.6.9, the fix for CVE-2026-40315 added input validation to SQLiteConversationStore only. Nine sibling backends — MySQL, PostgreSQL, async SQLite/MySQL/PostgreSQL, Turso, SingleStore, Supabase, SurrealDB — pass table_prefix straight into f-string SQL. Same root cause, same code pattern, same exploitation. 52 unvalidated injection points across the codebase. postgres.py additionally accepts an unvalidated schema parameter used directly in DDL. This issue has been patched in praisonai version 4.6.9 and praisonaiagents version 1.6.9.

Affected products

VendorProductAffectedFixed
MervinPraison PraisonAI praisonaiagents < 1.6.9, praisonai < 4.6.9 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI praisonai < 4.5.149 4.5.149 GHSA-rg3h-x3jw-7jm5
PyPI praisonaiagents < 1.6.8 1.6.8 GHSA-rg3h-x3jw-7jm5

References