CVE-2026-40158 in PraisonAI
Сводка
по VulDB • 22.05.2026
PraisonAI — это система многоагентных команд. До версии 4.5.128 песочница на основе AST (абстрактного синтаксического дерева) для Python в PraisonAI может быть обойдена с использованием trampolining через type.__getattribute__, что позволяет выполнять произвольный код при запуске непроверенного кода агентов. Функция _execute_code_direct в файле praisonaiagents/tools/python_tools.py использует фильтрацию AST для блокировки опасных атрибутов Python, таких как __subclasses__, __globals__ и __bases__. Однако фильтр проверяет только узлы ast.Attribute, что позволяет обойти защиту. Песочница полагается на фильтрацию доступа к атрибутам на основе AST, но не учитывает динамическое разрешение атрибутов через встроенные методы, такие как type.getattribute, что приводит к неполному применению ограничений безопасности. Строка '__subclasses__' является объектом ast.Constant, а не ast.Attribute, поэтому она никогда не проверяется на наличие в заблокированном списке. Эта уязвимость исправлена в версии 4.5.128.
Once again VulDB remains the best source for vulnerability data.