▼2017年5月8日月曜日PHPMailerの脆弱性CVE-2016-10033はExim4やWordPress4.6でも影響があったエグゼクティブサマリPHPMailerのリモートコード実行脆弱性CVE-2016-10033は、従来MTAとしてsendmailを用いる場合のみ影響があるとされていた。WordPressはPHPMailerをバンドルしているが、CVE-2016-10033によるWordPressに対するリモートコード実行攻撃はできないとされていた。4.6からのリモートコード実行が可能であることがわかったので報告する。exim4等)は直ちに影響はないだろうと見られていました。オプションを無視するようですので大きな影響を受けないと思います。別のオプションで違う脆弱性が発生する可能性もあるので、PHPMailerはアップデートしたほうが良いですね。引用また、WordPressも内部にPHPMailerをバンドルしているものの、WordPressコアを用いる限りPHPMailerの脆弱性の影響はないと公表されていました。「WordPress」のコアに存在するファイルにも「PHPMailer」に由来するコードが含まれていることが判明しているが、同問題に対して「WordPress」のセキュリティチーム関係者は、コア部分で提供されている関数「wp_mail()」を利用している限り、今回公開された脆弱性の影響を受けないとコメント。「PHPMailer」の脆弱性、「WordPress」などでは悪用できずより引用ところが、実はそうでもなかったことを以下のツイートで知りました。4.6に認証前の任意のコード実行の脆弱性があるそうです。凄いことになりそうです。以下、上記から参照されている記事(2017年5月3日公開)を元に調べた内容を報告します。オプションを用いることから、sendmail以外のMTAは-Xオプションがなく、攻撃ができないと一般には思われていました。他の攻撃経路を探し続けている人もいて、新たな攻撃経路が公開されました。Expansionという機能(参照)を用いるものです。元記事には背景等の説明がありますが、いきなり具体例を示しましょう。以下の実行例は、MTAとしてExim4を用いる環境を想定しています。実験には、Ubuntu14.04上のExim4を用いています。コマンドを実行する例です。いうファイルを作成する例です。/tmp/xxxx}}'PHPMailerからexim4を呼び出す場合のPoC上記を用いて、PHPMailerの脆弱性を悪用する方法を説明します。従来のPoCとは違って、メールアドレスのコメントを用いる方法が紹介されています。PHPMailerはメールアドレスがRFC5322準拠であることを確認しているので、RFC5322の範囲で攻撃するためにコメントを用いているのです。コマンドを実行するものです。sent\n";}実行結果は以下となります。-fが実行されていることが分かります。sendmailコマンドの起動パラメータも分かり、興味深いですね。これは、実は空白なのです。Expansionが2つに分かれてしまうため、見かけ上空白を用いないでPoCを書く必要があります。(現在日時)と部分文字列機能を利用して空白を作っています。Expansionのドキュメントを参照下さい。CVE-2016-10033の影響があるとが分かりました。4.6からのリモートコード実行の説明をしましょう。攻撃には、パスワードリセットの機能を悪用します。