WordPressのウィジェットの表示制御をページ事に細かく設定できる”Display Widgets”というプラグインがありました。とても便利なので、一般的なウェブサイトを製作する際に使っています。しかし、最近になってアップデート通知が出ているにも関わらず、管理ページからアップデート出来ず、プラグインのページも表示されず、困っていました。調べてみると、どうやら悪意のあるコードが挿入されて配信された為、公式から削除されていたということが分かりました。
実際に起こったこと
詳細はフォーラムのスレッドに書いてありますが、抜粋すると下記のようです。
- 今年5月に元開発者がプラグインを有償で売り渡した
- プラグイン手に入れた新しい開発者が本来は不要な機能を追加
- 外部から悪意あるソースコードを勝手に取り込む
- 投稿の表示出力をトリガーとして発動し、悪意あるコード(スパムリンクなど)を出力する
- 管理者がログイン状態だと問題のコードは生成されず、気付かない
- IPアドレス、ユーザーエージェント、WordPressのサイトアドレス等を追跡される
- 完全に公式ディレクトリから排除されるまでに、何度も削除とバージョンアップ公開が行われた
- 問題のバージョンは2.6系
対処としてやったこと
まずは、DBの精査です。wp_optionsテーブルにdisplaywidgets_idsなる内容が挿入されるようなので、これが無いかを確認。
次にプラグインのバージョンアップです。ちなみにプラグインの管理画面でv2.7の通知が表示されても更新出来ません。下記より直接ダウンロード&FTPで上書きアップロードします。
今後の行方
v2.7はバージョン表記が変わっただけで、ソースコードには一切変化がありません。今は良くとも、将来的にWordPressがメジャーアップデートした時に動作するのか心配です。未だに若干の不具合もあるみたいで…。
しかし、親切な方が今後もサポートしていくことも含めて新しいバージョンv4を公開して下さいました。
公式のプラグインディレクトリからの配信ではないので、WordPress標準機能での更新通知はされないようで、同梱されたカスタムアップデートプログラムを使って更新を行います。
さいごに
プラグインは便利ですが、今回のような事があるのは少し怖いですね。あまりプラグインに頼らず自らfunction.php等を使ってカスタマイズしてしまう方が、手間はかかりますが良いかもしれません。