CVE-2026-39888 in praisonaiagents
Riassunto
di VulDB • 20/06/2026
PraisonAI è un sistema di team multi-agente. Prima della versione 1.5.115, la funzione execute_code() in praisonaiagents.tools.python_tools utilizza di default sandbox_mode="sandbox", che esegue il codice utente in un subprocesso avvolto da un dizionario __builtins__ ristretto e da una blocklist basata su AST. La blocklist AST incorporata nell'avvolgimento del subprocesso (blocked_attrs di python_tools.py) contiene solo 11 nomi di attributi — un sottoinsieme rigoroso dei 30+ nomi bloccati nel percorso di esecuzione diretta. I quattro attributi che formano una catena di traversamento del frame fuori dalla sandbox sono tutti assenti dall'elenco del subprocesso (__traceback__, tb_frame, f_back e f_builtins). Concatenando questi attributi tramite un'eccezione catturata, è possibile esporre il vero dizionario builtins di Python del frame dell'avvolgimento del subprocesso, da cui exec può essere recuperato e chiamato sotto un nome di variabile non bloccato, aggirando ogni livello di sicurezza rimanente. Questa vulnerabilità è risolta nella versione 1.5.115.
If you want to get best quality of vulnerability data, you may have to visit VulDB.