トラブル:スクリプトコードの脆弱性への対応顛末

プロバイダから、脆弱性のあるコードが見受けられるので対処するようにと下記の様な連絡が来た。結果的に、その対応に週末が一日つぶれることになった。

WordPressでよく利用されている timthumb.php (thumb.phpの場合もあり) というプログラムに外部から任意のプログラムのアップロードおよび実行が可能な脆弱性が発見されております。
WordPressでは本体およびプラグインにつきましてはダッシュボードで更新する機能がありますが、テーマ(デザインだけではなくプログラムも含まれています)の更新機能は無いようで、テーマのプログラムが古いまま使われ続けるケースが生じているようです。

timthumb.phpは、結構広範に使われているスクリプトなので、影響はかなり広範囲に広がっているようで、いまでも拡大しつつあるらしい。

で、自分のサイトでも対応しなくてはいけなくなったのだが、その顛末は下記の通り。

【実際に対応した顛末の次第】

  1. まず、ネットから該当する脆弱性について情報収集。
  2. 次に、各サイトにプラグイン:timthumb vulnerability scannerをインストールし、検索→アップデート。
  3. 使用していないテーマやプラグインをフォルダごと削除。
  4. 使用しているテーマやプラグインでも、サムネイル機能を使用していない場合は、timthumb.phpファイルだけを削除。
  5. 使用する必要があるものに関しては、さらにスクリプトを書き換えて、外部ソースを引用しないよう修正。

結局、本宅だけが、この機能を必要としていたのだが、(2)によりスクリプトのヴァージョンをアップデートすると、テーマが古かったせいか、サムネイル機能が働かなくなってしまった。

本宅で使用しているArthemia Premium は、アップデートしたバージョンがすでに配布されていたのだが、テーマの中身を一部改造して使用しているため、その作業をするのがめんどくさくて古いバージョンから上げていなかった。そのため、テーマのアップデートを緊急でするハメになった。

バージョンアップの顛末は下記のところ。

これが結構煩わしかったのだが、結果的に、最新版までアップデートできたのは良かった(従来から何度かトライしていたのだが、なぜかうまくいかなかった)。

今回の脆弱性は、スクリプトのキャッシュフォルダに外部からphpコードファイルをアップして実行させることができるというもので、外部から悪意のあるコードを実行できるということ。すでに、ゼロデイ攻撃を受けてしまっている場合は、このスクリプトファイルの修正や削除だけでは対応が不十分。

その場合は、サイトのディレクトリ内に不審なコード(base64などでエンコードされて紛れ込んでいるケースが多い)がないかを確認するか、wordpressファイルを一旦削除して、再インストールする必要がある(バックアップからではなく、配布元からダウンロードし直して)。その後、プラグインなども配布元からダウンロードしなおして、インストール。

記事の共有:

「トラブル:スクリプトコードの脆弱性への対応顛末」への1件のフィードバック

コメントは停止中です。