[重要] A-Form セキュリティアップデート(通常版/Bamboo 全バージョン対象)

A-Form 通常版 および A-Form Bamboo ユーザの皆さま

A-Form(通常版およびBamboo)においてクロスサイトスクリプティング(XSS)による脆弱性が確認されました。この問題に対処するため、本日、A-Form の修正バージョンをリリースいたしました。
セキュリティ脆弱性の修正バージョンとなりますので、アップデートを強く推奨いたします。

■確認された問題
A-Form(通常版およびBamboo)の定番パーツの一部において、
適切に入力エスケープがされないため、クロスサイトスクリプティングが発生しうる。

■セキュリティ上の問題により発生しうる脅威
フォームに問題の定番パーツを使用していた場合、
閲覧者のブラウザ上でのスクリプト実行、偽ページの表示(フィッシング)、ウイルスサイトへの誘導などの危険がある。

■対象となる製品
MT5版
・A-Form 通常版 for MT5
・A-Form Banboo for MT5

MT4版
・A-Form 通常版 for MT4
・A-Form Banboo for MT4

■今回提供される修正版のバージョン
MT5版
・A-Form 通常版 for MT5 v2.0.2
・A-Form Banboo for MT5 v2.0.2

MT4版
・A-Form 通常版 v1.3.5
・A-Form Banboo for MT4 v1.3.5


■本バージョンでは、上記の他に次のバグ修正を行っています。

・記事の日時指定公開で、A-Formが埋め込まれた記事ページだけ再構築されない。
 run-periodic-tasksでの再構築に対応していなかった問題。
 関連URL: http://groups.google.com/group/mt-a-form/browse_thread/thread/15b6dd94f12f2f17?hl=ja

・[MT4版 Bamboo]DBがPostgreSQLの場合に新規フォーム作成すると
 「error: create aform」と言うダイアログ表示され作成する事ができない。
 関連URL: http://groups.google.com/group/mt-a-form/browse_thread/thread/21af2028b28a931b?hl=ja

■ダウンロード
A-Form ダウンロードページよりお使いの環境にあったパッケージをダウンロードしてください。
https://www.ark-web.jp/movabletype/a-form/download.html

■アップデート方法
解凍した最新版ファイルで、既存のA-Formファイルを上書きアップロードすることでアップデートされます。

 ※万が一に備えて、あらかじめ
  MT_INSTALL_DIRECTORY/plugins/AForm/ ディレクトリ、および
  MT_INSTALL_DIRECTORY/mt-static/plugins/AForm/ ディレクトリの
  バックアップを取ってからアップデート作業をなさってください。

 【重要:A-Form用テンプレートを独自カスタマイズしている場合】
 今回のセキュリティ対応に、aform_confirm.tmplの修正が含まれています。
 MT_INSTALL_DIRECTORY/plugins/AForm/tmpl 以下にあるA-Form用テンプレート
 ファイルを独自カスタマイズしている場合は、
 aform_confirm.tmplについて、前バージョンとの差分を独自カスタマイズした
 テンプレートに対して適用して頂く必要がございます。
 
 あらかじめカスタマイズファイルをバックアップしておき、修正適用後の
 aform_confirm.tmplおよび他のカスタマイズファイルのみを再度上書きで
 戻してください。
 
 修正箇所は以下の通りです。

 57行目~63行目付近にある

<mt:if name="type" eq="privacy">
  <mt:loop name="hash_values">
      <input type="hidden" name="aform-field-<$mt:var name="id"$>-<$mt:var name="__key__"$>" value="<$mt:var name="__value__"$>" />
  </mt:loop>
<mt:else>
  <input type="hidden" name="aform-field-<$mt:var name="id"$>" value="<$mt:var name="value"$>" /> 
</mt:if>

 と書いてある部分を探して、
 59行目付近の

<input type="hidden" name="aform-field-<$mt:var name="id"$>-<$mt:var name="__key__"$>" value="<$mt:var name="__value__"$>" />

   ↓これを、下記のように修正

<input type="hidden" name="aform-field-<$mt:var name="id"$>-<$mt:var name="__key__"$>" value="<$mt:var name="__value__" escape="html"$>" />

 62行目付近の

<input type="hidden" name="aform-field-<$mt:var name="id"$>" value="<$mt:var name="value"$>" />

   ↓これを、下記のように修正

<input type="hidden" name="aform-field-<$mt:var name="id"$>" value="<$mt:var name="value" escape="html"$>" /> 


 【A-Formエンジンの設置ディレクトリを変更している場合】
 SSL対応するために、A-Formのエンジン(aform_engine.cgiなどの
 A-Form処理プログラム)をデフォルトの設置場所から変更して
 お使いの場合は、移動先のファイルも忘れずにアップデート
 (最新版で上書き)してください。

最後になりましたが、
Googleグループ等における不具合報告, 原因調査へのご協力に深く感謝いたします。
ありがとうございますm(__)m