Description
PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.37 and praisonaiagents version 1.6.37, praisonaiagents resolves unresolved tool names against module globals and __main__ after it fails to match the declared tool list and the registry. With the default agent configuration, _perm_allow is None, so undeclared non-dangerous tool names are not rejected by the permission gate. An attacker who can influence tool-call names can therefore invoke unintended application callables that were never declared as tools. This issue has been patched in praisonai version 4.6.37 and praisonaiagents version 1.6.37.
Problem types
CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
Product status
praisonai < 4.6.37
References
github.com/...isonAI/security/advisories/GHSA-gmjg-hv98-qggq
github.com/...isonAI/security/advisories/GHSA-gmjg-hv98-qggq