製品・ソフトウェアに関する情報
Mervin Praison (MervinPraison)のPraisonAIにおける複数の脆弱性
Title Mervin Praison (MervinPraison)のPraisonAIにおける複数の脆弱性
Summary

PraisonAIはマルチエージェントチームシステムです。バージョン4.5.128以前のPraisonAIのASTベースのPythonサンドボックスは、type.__getattribute__トランポリンを使用してバイパスでき、信頼できないエージェントコードの実行時に任意のコードが実行されてしまいます。praisonaiagents/tools/python_tools.pyの_execute_code_direct関数は、__subclasses__、__globals__、__bases__などの危険なPython属性をブロックするためにASTフィルタリングを使用していますが、フィルターはast.Attributeノードのみをチェックしており、バイパスを許してしまいます。このサンドボックスは属性アクセスのASTベースフィルタリングに依存していますが、type.__getattribute__などの組み込みメソッドによる動的属性解決を考慮しておらず、セキュリティ規制を完全には施行できていません。文字列'__subclasses__'はast.Attributeではなくast.Constantであるため、ブロックリストに対してチェックされません。この脆弱性はバージョン4.5.128で修正されました。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date April 10, 2026, midnight
Registration Date April 21, 2026, 10:44 a.m.
Last Update April 21, 2026, 10:44 a.m.
CVSS3.0 : 重要
Score 7.8
Vector CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected System
Mervin Praison (MervinPraison)
PraisonAI 4.5.128 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年04月21日]
  掲載
April 21, 2026, 10:44 a.m.

NVD Vulnerability Information
CVE-2026-40158
Summary

PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI's AST-based Python sandbox can be bypassed using type.__getattribute__ trampoline, allowing arbitrary code execution when running untrusted agent code. The _execute_code_direct function in praisonaiagents/tools/python_tools.py uses AST filtering to block dangerous Python attributes like __subclasses__, __globals__, and __bases__. However, the filter only checks ast.Attribute nodes, allowing a bypass. The sandbox relies on AST-based filtering of attribute access but fails to account for dynamic attribute resolution via built-in methods such as type.getattribute, resulting in incomplete enforcement of security restrictions. The string '__subclasses__' is an ast.Constant, not an ast.Attribute, so it is never checked against the blocked list. This vulnerability is fixed in 4.5.128.

Publication Date April 11, 2026, 2:17 a.m.
Registration Date April 15, 2026, 11:36 a.m.
Last Update April 21, 2026, 4:38 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* 4.5.128
Related information, measures and tools
Common Vulnerabilities List