English version →
カテゴリ
CVE-2026-47708

stata-mcp に コマンドインジェクション (CVE-2026-47708)

概要

stata-mcp に コマンドインジェクション (CVE-2026-47708) が存在。不正な操作・情報露出のリスクがあります。log_file_name 経由で攻撃可能。対策: 1.17.3 以上に更新。

原文の説明

取得元が公開している説明をそのまま載せています (多くは英語)。

Summary

The log_file_name parameter in the stata_do API and CLI is directly interpolated into a Stata command string without sanitization. The security guard (GuardValidator) only scans the do-file content but does not validate this parameter. An attacker can inject arbitrary Stata commands (including shell, python, erase, etc.) by crafting a malicious log_file_name containing quotes, newlines, or Stata command separators.

Details

In src/stata_mcp/stata/stata_do/do.py, both _execute_unix_like and _execute_windows construct a Stata command string using Python f-strings:

commands = f"""
capture log close
{self.generate_log_command(log_file, is_replace)}
...
do "{dofile_path}"
...
"""

The generate_log_command method returns:

log_cmd = f'log using "{log_file.as_posix()}", {replace_clause} {log_type} name({log_type}_log)'

Where log_file is constructed from user-supplied log_name:

def generate_log_file(self, log_name: str, extension='log'):
    return self.log_file_path / f"{log_name}.{extension}"

The log_name parameter comes directly from user input (via MCP tool stata_do or CLI stata-mcp tool do) without any validation. Since the path is embedded inside double quotes in a Stata command string, an attacker can break out of the string context and inject arbitrary commands.

Additionally, generate_log_file does not prevent path traversal via log_name, allowing arbitrary file write outside t…

出典: GitHub Security Advisories (Global) NVD GitHub Advisory

自動生成の要約

取得元のデータ (CVSS・CWE・影響バージョンなど) から SecPulse が定型文で組み立てた要約です。AI は使っていません。正確な内容は下の原文と参照URLで確認してください。

stata-mcp という製品で、CVE-2026-47708 という番号がついた弱点 (脆弱性) が見つかりました。
悪い人がインターネット越しに log_file_name のような特定の入り口を狙うことで、製品の中を不正に操作できてしまいます。
不正な操作・情報露出のリスクがあります。
対策: stata-mcp を 1.17.3 以上に更新してください。
心配なら、システム担当者や製品の公式サイトで「stata-mcp CVE-2026-47708」を検索してください。

CVE-2026-47708 (stata-mcp) — CWE-77
脆弱箇所: log_file_name / stata_do / GuardValidator / shell
修正バージョン: 1.17.3 (即時適用推奨)
対応方針: 1) SBOMで影響バージョン横断確認, 2) ステージング検証→本番更新, 3) WAF/プロキシで該当エンドポイントを監視, 4) ログでIOC調査。
参考: 当ページの『参照URL』の GHSA / vendor advisory / patched release を参照。

❓ 何が問題か

stata-mcp に 脆弱性 (CWE-77) があります。攻撃者は log_file_name を経由して脆弱な処理に到達できます。

📍 影響範囲

stata-mcp の影響バージョンはベンダーのアドバイザリで確認してください。攻撃箇所: log_file_name / stata_do / GuardValidator / shell。

🔥 重要度

重要度: ?。不正な操作・情報露出のリスクがあります。

🔧 修正方法

1.17.3 に更新してください。

🛡️ 暫定回避

修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。

🔍 検知方法

Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。

対応アクション

SOC/SREチームが順番に実行すべき具体的なステップとコマンド例

  1. 1
    影響範囲の特定 identify
    grep -r 'stata-mcp' . | grep -v node_modules

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

  2. 2
    パッチ適用 patch
    Upgrade stata-mcp to 1.17.3

    ステージング環境で 1.17.3 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

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

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

影響パッケージ

pip stata-mcp
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.17.3"}]}]
PyPI stata-mcp
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.17.3"}]}]

参照URL

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