公開日 2022年1月25日 AM9:00
最終更新日 2022年1月26日 PM1:44
概要
TransmitMail の v2.5.0 〜 v2.6.1 に複数の脆弱性が存在することが判明いたしました。この脆弱性を悪用された場合、悪意のある第三者の攻撃により、ディレクトリトラバーサルによる設置サーバーの任意のファイルの参照、また条件が揃えばクロスサイトスクリプティングによるフィッシングサイトへの誘導などの危険性があります。
影響を受けるバージョンの TransmitMail を使用している場合は、最新版へのアップデートもしくは修正内容の差分を確認し、ご自身での修正の対応をお願いいたします。
該当バージョンの確認方法
使用している TransmitMail のバージョン番号の確認方法は下記の通りです。
チェックモードによる確認
下記の Wiki ページで紹介しているチェックモードでバージョンを確認いただけます。
設定ファイルの記述方法(v2) · dounokouno/TransmitMail Wiki
ソースコードによる確認
./lib/TransmitMail.php
の 15行目にバージョンが記載されています。
https://github.com/dounokouno/TransmitMail/blob/master/lib/TransmitMail.php#L15
脆弱性の説明
TransmitMail はメールフォーム機能を提供するウェブシステムです。TransmitMail の HTML テンプレートの機能に v2.5.0 にて外部ファイルのインポート機能を追加しており、該当機能に関連した外部入力値の検証が不十分だったため、ディレクトリトラバーサルと、条件が揃えばクロスサイトスクリプティングの脆弱性が存在します。
この脆弱性は HTML テンプレートのインポート機能の利用の有無に関係なく存在します。
脆弱性がもたらす脅威
ディレクトリトラバーサルの脆弱性
悪意のある第三者によってウェブ越しに設置サーバーの任意のファイルを参照することが可能になり、機密情報の漏洩などの可能性があります。
クロスサイトスクリプティングの脆弱性
TransmitMail を設置しているサーバーの設定や設置状況などの特定の条件が揃うことで、悪意のある第三者によりウェブブラウザ上で任意のスクリプトが実行可能になり、フィッシングサイトへの誘導やウィルスのダウンロードなどの可能性があります。
対策方法
最新版へのアップデート
下記の配布ページより最新版をダウンロードし、すべての PHP ファイルを最新のものに置き換えてください。
https://github.com/dounokouno/TransmitMail
./config/config.php
などに独自の修正を加えている場合は、適宜、その修正を反映させてください。
差分の取り込み
./lib/TransmitMail.php
などに独自の修正を加えている場合は、すべての PHP ファイルを最新のものと差分を比較し、独自に修正を加えたファイルに TransmitMail の最新版の差分を取り込んでください。
./config/config.php
などに独自の修正を加えている場合は、適宜、その修正を反映させてください。
関連情報
謝辞
本件は ishiyuriniwa 様よりよりご指摘をいただきました。
ishiyuriniwa 様、 IPA様、 JPCERT/CC様、 JPCERT/CC のご担当者様に厚くお礼申し上げます。
更新履歴
- 2022年1月25日 AM9:00
- この脆弱性情報ページを公開しました。
- 2022年1月25日 PM3:13
- 関連情報としてJVNの本脆弱性情報ページへのリンクを追加しました。
- IPA様、 JPCERT/CC様、 JPCERT/CC のご担当者様への謝辞を追記しました。
- 2022年1月26日 PM1:44
- ソースコードによるバージョンの確認のファイル名の間違いを修正しました。
連絡先
- 多川貴郎(タガワタカオ) / dounokouno[at]gmail.com