実は昨日の情報セキュリティCASでも話をしたことなのですが、WordPressのプラグイン「WP Job Manager」には長期に渡って放置されている脆弱性があります。その為、その脆弱性を突いた改竄が2017年6月1日より増加していることを確認しています。私のツイートより紹介。
WordPressのWP Job ManagerプラグインもしくはJob Managerプラグインに脆弱性がある模様。使っている人は使用を一旦止めた方がよさそう。
— ぴずも@平野めらに推し (@pismo_kumachan) 2017年6月5日
WP Job Managerの1.25にはリモートシェルアップロードの脆弱性があるらしい。改竄されたサイトは1.25.3を使っているのが多いみたいだけど、脆弱性を修正されていないのかな?ちなみに現在のバージョンは1.26だった。
— ぴずも@平野めらに推し (@pismo_kumachan) 2017年6月5日
う〜ん、1.26で修正されたのかされてないのかが不明だ。改竄されたサイトが1.25.3を使っているということは、1.25で発見された後も修正はされていないみたいだが…
— ぴずも@平野めらに推し (@pismo_kumachan) 2017年6月5日
現段階では取り敢えずの想像ですが、WordPressのWP Job Managerプラグインには認証回避とリモートシェルアップロードの脆弱性がある模様。最新版で修正されているかどうかは不明。少なくとも一つ前のバージョンでは修正されていない感じで、改竄事件が続いている。
— ぴずも@平野めらに推し (@pismo_kumachan) 2017年6月5日
で、結局のところは「CSRF(クロスサイトリクエストフォージェリ)」との情報があり、実証コードも確認出来ました。で、その実証コードを使ってこのサイトで実験してみました。
$ ./wpjob.sh target.txt IMG_5741.PNG
と言うコマンドを実行してみたところ...
とアップロード出来てしまいました。
ちなみに、WP Job Managerのバージョンは最新のモノで1.26.1ですが、コレでも対策はされていません。従って、現在のところの回避策は「WP Job Managerプラグインの使用停止」もしくは「他の類似プラグインに変更する」しかありません。
追記(2017/6/15):
実はIPAに届出を出していて、本日情報が公開されたので追記します。
「JVN#56787058 WordPress 用プラグイン WP Job Manager におけるアクセス制限不備の問題」に記載の通り、1.26.2(届出翌日には公開されていました)で脆弱性が修正されています。WP Job Managerをお使いの場合は最新版に更新してください。