timthumb.phpは、TimThumbという画像をリサイズしてくれるPHPスクリプトです。このTimThumbのバージョン2よりも前のバージョンには脆弱性が見つかっています。
古いバージョンのTimThumbを使っていると、第三者が任意のPHPコードをTimThumbキャッシュディレクトリにアップロードすることができ、悪意のあるPHPコードなどを実行されてしまいます。
TimThumbの配布元ではすでに修正済みですが、WordPressのプラグインやテーマ内で古いバージョンが使用されていたら、攻撃を受ける可能性が出てきます。
WordPress内で脆弱性のあるtimthumb.phpが使われているかどうか、チェックするためのプラグインがTimthumb Vulnerability Scannerです。
Timthumb Vulnerability Scannerのインストール
インストール手順は以下の通りです。
- Timthumb Vulnerability Scannerをダウンロードします。
- ダウンロードしたファイルを展開し wp-content/plugins にアップロードします。
- 管理画面の[プラグイン]ページで、Timthumb Vulnerability Scannerプラグインを有効化します。
Timthumb Vulnerability Scannerの使い方
Timthumb Vulnerability Scannerプラグインを有効化したら、管理画面で[ツール] – [Timthumb Scanner]にアクセスしましょう。
[Scan!]をクリックすると、脆弱性のチェックが開始されます。
スキャンが完了すると、「Scan Results」に結果が表示されます。「No instances of timthumb were found on your server.」と表示されれば、脆弱性は見つからなかったということになります。
もしも脆弱性のあるファイルが見つかったら、ファイルを選択して[Upgrade Selected Files]からアップグレードを実施しましょう。
定期スキャンの設定
[ツール] – [Timthumb Scanner]のページで、[Options]タブにアクセスすると、定期スキャンの設定が行えます。デフォルトでは「Automatically run this scan daily」にチェックが入った状態なので、毎日スキャンが実行されます。
チェックを外すと定期スキャンは停止され、手動スキャンのみになります。
あとがき
攻撃を受けると大変なので、ぜひスキャンして脆弱性の有無をチェックしておきましょう。