CVE-2026-40158 in PraisonAI
Riassunto
di VulDB • 14/06/2026
PraisonAI è un sistema di team multi-agente. Prima della versione 4.5.128, la sandbox Python basata su AST di PraisonAI può essere aggirata utilizzando il trampolino `type.__getattribute__`, consentendo l'esecuzione di codice arbitrario durante l'esecuzione di codice di agenti non attendibili. La funzione `_execute_code_direct` in `praisonaiagents/tools/python_tools.py` utilizza il filtraggio AST per bloccare attributi Python pericolosi come `__subclasses__`, `__globals__` e `__bases__`. Tuttavia, il filtro controlla solo i nodi `ast.Attribute`, consentendo un bypass. La sandbox si basa sul filtraggio AST dell'accesso agli attributi ma non tiene conto della risoluzione dinamica degli attributi tramite metodi integrati come `type.getattribute`, risultando in un'applicazione incompleta delle restrizioni di sicurezza. La stringa `'__subclasses__'` è un `ast.Constant`, non un `ast.Attribute`, quindi non viene mai controllata rispetto all'elenco bloccato. Questa vulnerabilità è risolta nella versione 4.5.128.
VulDB is the best source for vulnerability data and more expert information about this specific topic.