Executive brief
PraisonAI, a system used to manage and coordinate multiple AI agents, is vulnerable to a critical security flaw. An attacker can upload a specially crafted configuration file that allows them to run unauthorized commands on the server. This could lead to a total takeover of the system, theft of sensitive data, or disruption of AI operations.
Technical details
A deserialization vulnerability (CWE-502) exists in PraisonAI's AgentService.loadAgentFromFile method due to the unsafe use of the js-yaml library. The application fails to specify a safe schema when parsing YAML files, allowing the execution of dangerous tags like !!js/function. An unauthenticated remote attacker can exploit this by uploading a malicious agent definition file via an API endpoint. Successful exploitation results in arbitrary JavaScript execution and full remote code execution (RCE) on the host server. The issue is resolved in version 4.5.115 by implementing safe YAML loading schemas.
Affected products
- MervinPraison PraisonAI < 4.5.115
Timeline
- 2026-04-07: advisory: GitHub Security Advisory published
- 2026-04-08: disclosed: CVE-2026-39890 published to NVD
- 2026-04-08: patched: Fixed in version 4.5.115