Critical SQL Injection Vulnerability in PraisonAI Package
Summary
GHSA-q65p-7p84-495c: Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-wf65-4jjx-q444. Affects praisonai versions < 4.6.77. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
PraisonAI is an open-source artificial intelligence framework designed to facilitate the development of AI applications. It provides various knowledge stores, including PGVector and Cassandra, to manage and retrieve vector data efficiently. However, prior to version 4.6.78, PraisonAI had a critical vulnerability that allowed attackers to manipulate SQL commands through unvalidated input.
Vulnerability Detail
The vulnerability arises from the failure of PraisonAI to validate the caller-controlled dimension argument in the PGVector and Cassandra knowledge-store create_collection() backends. Although other identifiers are validated, the dimension value is interpolated directly into the SQL statement without proper enforcement. An attacker could exploit this by passing a malicious string, such as '3); DROP TABLE tenant_secrets; --', leading to SQL injection attacks that could compromise the database integrity and confidentiality.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, avoid using the create_collection() method with untrusted input for the dimension argument. Always validate and sanitize inputs before passing them to this method.
Conclusion
The PraisonAI package has a critical SQL injection vulnerability that can be exploited through unvalidated input in its knowledge-store backends. It is crucial to update to version 4.6.78 or later to protect against potential attacks. Additionally, using Vulert can help monitor your applications for vulnerabilities effectively.
See every vulnerability recorded for praisonai →
FAQ
The CVSS score of this vulnerability is 9.8, indicating a critical severity level.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
Exploitation of this vulnerability could lead to unauthorized access, data loss, or complete database compromise due to SQL injection attacks.
Yes, Vulert can monitor and alert you in real-time for open-source vulnerabilities in your software using just the Pipfile.lock.
If you cannot update immediately, ensure that you validate and sanitize all inputs to the create_collection() method to mitigate the risk of exploitation.
References
Related vulnerabilities
Recent vulnerabilities recorded for praisonai.