Arbitrary Code Execution Vulnerability in PraisonAI Plugin Manager
Summary
GHSA-q359-rmv4-56fg: Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-m6wp-h223-4c8g. Affects praisonaiagents versions < 1.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 a Python-based framework designed for building AI agents. It allows users to create and manage plugins that extend its functionality. However, prior to version 1.6.78, the plugin manager had a significant security flaw that enabled the execution of arbitrary Python files without proper verification, exposing users to potential remote code execution attacks.
Vulnerability Detail
The vulnerability arises from the plugin manager's use of importlib's spec_from_file_location() and exec_module() functions to load and execute Python files from user-defined directories. This process lacks code signing, integrity verification, and sandboxing, making it susceptible to exploitation. An attacker could place a malicious .py file in a plugin directory, which would be executed when the plugin system initializes, leading to arbitrary code execution. The severity of this vulnerability is rated at 8.4 on the CVSS scale, indicating a high risk to affected systems.
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, users can restrict write access to the .praisonai/plugins/ directories to prevent unauthorized file creation. Additionally, consider implementing file integrity monitoring to detect any unauthorized changes to Python files in these directories.
Conclusion
The PraisonAI plugin manager vulnerability poses a significant risk due to its ability to execute arbitrary code from unverified Python files. Users are strongly encouraged to update to the latest version to mitigate this risk. Implementing workarounds can provide temporary relief while awaiting a full update.
See every vulnerability recorded for praisonaiagents →
FAQ
The vulnerability allows for arbitrary code execution through the plugin manager in PraisonAI, enabling attackers to run malicious Python scripts.
If you are using PraisonAI versions prior to 1.6.78, your application is vulnerable. You can check your application's dependencies using tools like Vulert.
An attacker could execute arbitrary code on the server, potentially leading to data breaches, system compromise, or unauthorized access to sensitive information.
Yes, you can use Vulert to monitor and alert in real-time for open-source vulnerabilities in your software without needing to access the code or installation.
If an immediate update is not possible, implement the suggested workarounds to limit exposure and monitor for any suspicious activity in your application.
Related vulnerabilities
Recent vulnerabilities recorded for praisonaiagents.