【活用ガイド】

[English]

JVNDB-2021-000093

Movable Type の XMLRPC API における OS コマンドインジェクションの脆弱性

概要

シックス・アパート株式会社が提供する Movable Type の XMLRPC API には、OS コマンドインジェクション (CWE-78) の脆弱性が存在します。
Movable Type の XMLRPC API に細工したメッセージを POST メソッドで送信することで、任意の OS コマンドが実行可能となります。

【2021年11月10日 追記】
2021年11月10日現在、本脆弱性の実証コードの公開と、本脆弱性を悪用した攻撃を確認しています。

この脆弱性情報は、次の方が製品開発者に直接報告し、製品開発者との調整を経て、製品利用者への周知を目的に JVN での公表に至りました。
報告者: Étienne Gervais 氏、Charl-Alexandre Le Brun 氏、Chatwork株式会社
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 9.8 (緊急) [IPA値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
CVSS v2 による深刻度
基本値: 7.5 (危険) [IPA値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): 部分的
  • 完全性への影響(I): 部分的
  • 可用性への影響(A): 部分的
影響を受けるシステム


シックス・アパート株式会社
  • Movable Type Movable Type 7 r.5004 およびそれ以前 (Movable Type 7系)
  • Movable Type Movable Type 6.8.4 およびそれ以前 (Movable Type 6系)
  • Movable Type Advanced Movable Type Advanced 7 r.5004 およびそれ以前 (Movable Type Advanced 7系)
  • Movable Type Advanced Movable Type Advanced 6.8.4 およびそれ以前 (Movable Type Advanced 6系)
  • Movable Type Premium Movable Type Premium 1.48 およびそれ以前
  • Movable Type Premium Advanced Movable Type Premium Advanced 1.48 およびそれ以前

開発者によると、すでにサポート終了をしたバージョンを含む、Movable Type 4.0 以降のすべてのバージョンが本脆弱性の影響を受けるとのことです。

【2021/12/16 追記】
本件を2021年10月20日に公表した時点では、影響を受ける製品は「Movable Type 7 r.5002 およびそれ以前 (Movable Type 7系)」、「Movable Type 6.8.2 およびそれ以前 (Movable Type 6系)」、「Movable Type Advanced 7 r.5002 およびそれ以前 (Movable Type Advanced 7系)」、「Movable Type Advanced 6.8.2 およびそれ以前 (Movable Type Advanced 6系)」、「Movable Type Premium 1.46 およびそれ以前」、「Movable Type Premium Advanced 1.46 およびそれ以前」と記載していましたが、修正が不十分であったことが確認されたためバージョン情報を更新しました。
想定される影響

遠隔の第三者によって、任意の OS コマンドを実行される可能性があります。
対策

[アップデートする]
開発者が提供する情報をもとに、最新版へアップデートしてください。
開発者は、本脆弱性を修正した次のバージョンをリリースしています。
  • Movable Type 7 r.5005 (Movable Type 7系)
  • Movable Type 6.8.5 (Movable Type 6系)
  • Movable Type Advanced 7 r.5005 (Movable Type Advanced 7系)
  • Movable Type Advanced 6.8.5 (Movable Type Advanced 6系)
  • Movable Type Premium 1.49
  • Movable Type Premium Advanced 1.49

[ワークアラウンドを実施する]
開発者によると、アップデートを適用できない場合には、Movable Type の設定ファイル mt-config.cgi に対して次の回避策を適用することで、本脆弱性の影響を軽減することが可能とのことです。
  • 現在 XMLRPC API を利用していない、または今後 XMLRPC API を利用しない場合
    • mt-xmlrpc.cgi へのアクセスを、信頼できる接続元のみに制限する
    • CGI/FCGI として利用している場合
      • mt-xmlrpc.cgi を削除、またはパーミッションを削除する
    • PSGI で利用している場合
      • Movable Type (Advanced) 6.2 以降および Movable Type Premium (Advanced)
        • mt-config.cgi に Movable Type 環境変数 RestrictedPSGIApp xmlrpc を設定する
      • Movable Type (Advanced) 5.2 から Movable Type (Advanced) 6.1 まで
        • mt-config.cgi で使用する Movable Type 環境変数 XMLRPCScript に十分に複雑な文字列を設定する
  • 継続して XMLRPC API を利用する場合
    • mt-xmlrpc.cgi へのアクセスを、信頼できる接続元のみに制限する
    • PSGI で利用している場合
      • mt-config.cgi で使用する Movable Type 環境変数 XMLRPCScript に十分に複雑な文字列を設定する


詳しくは、開発者が提供する情報をご確認ください。
ベンダ情報

シックス・アパート株式会社
CWEによる脆弱性タイプ一覧  CWEとは?

  1. OSコマンドインジェクション(CWE-78) [IPA評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2021-20837
参考情報

  1. JVN : JVN#41119755
  2. IPA 重要なセキュリティ情報 : 「Movable Type」の XMLRPC API における OS コマンドインジェクションの脆弱性について(JVN#41119755)
  3. JPCERT 注意喚起 : Movable TypeのXMLRPC APIにおける脆弱性(CVE-2021-20837)に関する注意喚起
更新履歴

  • [2021年10月20日]
      掲載
  • [2021年11月10日]
      概要:内容を更新
  • [2021年12月16日]
      概要:内容を更新
      影響を受けるシステム:内容を更新
      対策:内容を更新
      ベンダ情報:内容を更新