CVE-2026-41496 json
PraisonAI: SQL Injection via unvalidated `table_prefix` in 9 conversation store backends (incomplete fix for CVE-2026-40315)
published 2026-04-17 6 mo ago modified 2026-10-26 13 d ago also GHSA-rg3h-x3jw-7jm5 , PYSEC-2026-2923 , PYSEC-2026-2952 , EUVD-2026-28594
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi praisonai 4.5.149
- pypi praisonaiagents 1.6.8
- praison praisonai 4.6.9
- praison praisonaiagents 1.6.9
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 6 mo ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-rg3h-x3jw-7jm5 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | praisonai | <4.5.149 |
4.5.149 |
| pypi | praisonaiagents | <1.6.8 |
1.6.8 |
Affected products
- MervinPraison PraisonAI
Classification
- Weakness
-
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
References
-
github.com
/MervinPraison/PraisonAI/security/advisories/GHSA-rg3h-x3jw-7jm5
exploit, web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-41496
advisory
-
github.com
/MervinPraison/PraisonAI
package
-
pypi.org
/project/praisonai
package
-
github.com
/advisories/GHSA-rg3h-x3jw-7jm5
advisory
-
pypi.org
/project/praisonaiagents
package
Sources
- CVE List CVE-2026-41496
- GitHub Advisory GHSA-rg3h-x3jw-7jm5
- NVD CVE-2026-41496
- OSV PYSEC-2026-2923
- OSV PYSEC-2026-2952
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.