PHPMailerの脆弱性について(2016/12/31追記あり) | no news.

PHPMailerの脆弱性について(2016/12/31追記あり)

注 この記事は12/28時点で分かっている事をまとめたものです。

2016/12/29追記 WordPress本体には影響がないことを追記しました。
2016/12/31追記 WordPressプラグイン Contact form 7に影響がないか検証しました。

下記の注意喚起が出ています。

JVNVU#99931177
PHPMailer に OS コマンドインジェクションの脆弱性  

コマンドインジェクションが可能ということで緊急となっています。

WordPress関連では下記の記事が出ています。

Critical Vulnerability in PHPMailer. Affects WP Core.

上記ブログからの引用です。

In the vulnerable version of PHPMailer, the sender email address is passed unescaped to a shell command. An attacker could include shell commands in the sender email that execute malicious code on a target machine or website

どうやらお問い合わせフォームなどでメールアドレスを入力するようになっている場合、影響があるようです。例えばお問い合わせをしてきたユーザーに返信を行うためメールアドレスを入力するようになっていることが多いですが、それがアウトらしいです。

また、下記のファイルが該当するようです。

PHPMailer is used by WordPress core to send email. You can find the code in the wp-includes/class-phpmailer.php core file.

1016/12/29 追記
上記のclass-phpmailer.phpは影響がないことがわかりました。

PHPMailerについてはこれを受けて最新版が出ましたが、これにもまだ脆弱性が残っているようです。

PHPMailer < 5.2.20 Remote Code Execution (0day Patch Bypass/exploit)

で、今のところ対策はなさそうです。。。orz

2016/12/29追記

wordpress本体は影響ないとのことです。ただしwp_mail()を使っていない場合はその限りではないようです。本体だけでなく、プラグインでも同様です。

The WordPress Security team is aware of the PHPMailer issues. We’ve been in contact with the author and security researchers and discussing the fixes.
Presently, WordPress Core (and as a result, anything utilising wp_mail()) are unaffected by the recent disclosures, the vulnerabilities require the usage of a PHPMailer feature which WordPress & wp_mail() does not use. This applies to WordPress 4.7, 4.6.x, and all previous secure versions.
A note on plugins: If plugins are correctly utilising wp_mail() they’ll not be affected either, however, if a plugin is doing something wrong, the plugins team will be in contact with the plugin authors.

2016/12/31 追記

実際の脆弱性を検証するデモビデオが公開されていました。

PHPMailer/SwiftMailer/ZendFramework Video PoC Exploit

映像を見れば分かる通り、ユーザーにコンタクトをとるためのメールアドレス入力欄があるだけで攻撃可能なようです。

というわけで、Wordpressでよく使われているContact Form 7で当該exploitが有効なのか試してみました。

テストページは下記となります。

Contact for m 7 脆弱性テスト用ページ

入力した値は下記となります。

項目備考
お名前(必須)no-ne.ws
メールアドレス (必須)"attacker\\" -oQ/tmp/ -X%s/phpcode.php some"@email.comPHPMailer < 5.2.18向け
\"attacker\\' -oQ/tmp/ -X%s/phpcode.php some\"@email.comPHPMailer < 5.2.20向け
メッセージ本文<?php phpinfo(); >

その結果、送信を押した瞬間に入力されたメールアドレスに間違いがあります。というメッセージが表示され送信はできませんでした。
ということでContact Form 7については大丈夫なようです。
ただし、他のフォームについては分かりませんのでContact Form 7以外をご利用の場合はチェックしておいたほうが良いと思われます。

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大