SQL Injection in PraisonAI get_all_user_threads
CVE-2026-34934 is a SQL injection vulnerability in PraisonAI, a multi-agent teams system, affecting versions prior to 4.5.90. The flaw is in the get_all_user_threads function, which constructs raw SQL statements using Python f-strings and incorporates thread IDs fetched from the database without proper escaping or parameterization. An attacker can first persist a malicious thread ID via the update_thread function. Later, when the application loads the thread list and get_all_user_threads processes that stored value, the injected SQL payload is executed. This is effectively a second-order SQL injection condition because attacker-controlled data is stored first and executed later in a separate code path.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation can grant an attacker full database access. Depending on the database permissions available to the application, this can enable unauthorized reading, modification, or deletion of data, execution of administrative database operations, and potential disruption of application availability. The provided CVSS context and advisory summary indicate high impact to confidentiality, integrity, and availability.
If you can’t patch tonight, do this now.
If immediate upgrade is not possible, reduce exposure by preventing untrusted or malformed thread IDs from being stored through update_thread, validating and constraining thread ID format server-side, and reviewing the codebase for similar second-order SQL injection patterns. Limit the database account used by PraisonAI to the minimum required privileges to reduce blast radius. Monitor for anomalous thread ID values and suspicious database queries triggered during thread list loading.
Patch, then assume compromise.
Upgrade PraisonAI to version 4.5.90 or later, which contains the patch for this issue. The vulnerable query construction in get_all_user_threads should be replaced with properly parameterized queries, and any use of Python f-strings or other string interpolation for SQL statement construction with untrusted data should be eliminated.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
8 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.