| Title | Mervin Praison (MervinPraison)のPraisonAIにおける複数の脆弱性 |
|---|---|
| Summary | PraisonAIはマルチエージェントチームシステムです。バージョン4.6.34以前のPraisonAIのMCP(Model Context Protocol)サーバー(praisonai mcp serve)は、デフォルトで4つのファイル操作ツール(praisonai.rules.create、praisonai.rules.show、praisonai.rules.delete、praisonai.workflow.show)を登録しています。これらのツールはそれぞれMCPツール/呼び出しの引数からパスまたはファイル名の文字列を受け取り、~/.praison/rules/(workflow.showの場合は絶対パス)に結合しますが、ディレクトリの包含チェックを行いません。JSON-RPCディスパッチャはparams["arguments"]を各ハンドラに対して、広告されている入力スキーマの検証なしに**kwargsとして盲目的に渡します。rule_name="../../some-path"と設定することで、攻撃者はrulesディレクトリの外に出て、実行中のユーザーが書き込み可能な任意のファイルに書き込むことが可能になります。ユーザーのsite-packagesディレクトリにPythonの.pthファイルを配置することで、この脆弱性は任意のコード実行にエスカレートします。これにより、次回のpraisonai CLIの呼び出し、IDEスクリプトの実行、ユーザーのpython REPL、または任意のバックグラウンドPythonサービスでコードが実行されてしまいます。この問題はバージョン4.6.34で修正されました。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 |
| Solution | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 8, 2026, midnight |
| Registration Date | May 11, 2026, 11:04 a.m. |
| Last Update | May 11, 2026, 11:04 a.m. |
| CVSS3.0 : 緊急 | |
| Score | 9.6 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H |
| Mervin Praison (MervinPraison) |
| PraisonAI 4.6.34 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月11日] 掲載 |
May 11, 2026, 11:04 a.m. |
| Summary | PraisonAI is a multi-agent teams system. Prior to version 4.6.34, PraisonAI's MCP (Model Context Protocol) server (praisonai mcp serve) registers four file-handling tools by default — praisonai.rules.create, praisonai.rules.show, praisonai.rules.delete, and praisonai.workflow.show. Each accepts a path or filename string from MCP tools/call arguments and joins it onto ~/.praison/rules/ (or, for workflow.show, accepts an absolute path) with no containment check. The JSON-RPC dispatcher passes params["arguments"] blind to each handler via **kwargs without validating against the advertised input schema. By setting rule_name="../../<some-path>" an attacker walks out of the rules directory and writes any file the running user can write. Dropping a Python .pth file into the user site-packages directory escalates this primitive to arbitrary code execution in any subsequent Python process the user spawns — the next praisonai CLI invocation, an IDE script run, the user's python REPL, or any background Python service. This issue has been patched in version 4.6.34. |
|---|---|
| Publication Date | May 8, 2026, 11:16 p.m. |
| Registration Date | May 9, 2026, 4:13 a.m. |
| Last Update | May 9, 2026, 12:53 a.m. |