PraisonAI - это система мультиагентных команд. До 1.5.115 выполнить_code() в praisonaiagents.tools.python_tools по умолчанию по умолчанию s…
PraisonAI - это система мультиагентных команд. До 1.5.115 выполнить_code() в praisonaiagents.tools.python_tools по умолчанию по умолчанию sandbox_mode="sandbox", который запускает пользовательский код в рамках субпроцесса, обернутого ограниченным __builtins__ dict и блок-листом на основе AST. Блоклист AST, встроенный в обертку подпроцесса (blocked_atts of python_tools.py), содержит только 11 названий атрибутов — строгое подмножество 30+ имен, заблокированных на пути прямого исполнения. Четыре атрибута, которые образуют цепочку кадра-траверса из песочницы, отсутствуют в списке субпроцесса (__traceback__, tb_frame, f_back и f_builtins). Привязка этих атрибутов через пойманное исключение обнажает настоящий Python встроенный диктат кадра обертки для подпроцесса, из которого exec может быть извлечен и назван под неблокированным именем переменной, минуя каждый оставшийся уровень безопасности. Эта уязвимость зафиксирована в 1.5.115.
Программный продукт нарушает общепринятые принципы безопасного проектирования.
https://cwe.mitre.org/data/definitions/657.html →Открыть в коллекции CWE →