WordPress pluginのCSRF脆弱性(CVE-2015-0895) "&'<<>\ Advent Calendar 2015 (14日目)
この記事は脆弱性"&'<<>\ Advent Calendar 2015の14日目の記事です。
前日の記事はWordPress のsecurity系plugin の Blind SQL injection 脆弱性(CVE-2015-0894) "&'<<>\ Advent Calendar 2015 (13日目) - ooooooo_qの日記です。今日は連続してCVE-2015-0895です。
脆弱性内容
違うCVEが割り振られていますが、報告したのはCVE-2015-0894と同じpluginで、WordPress › All In One WP Security & Firewall « WordPress Pluginsです。
昨日書いた記事の中で、クエリパラメータを受け取ってDELETE文が発行されている箇所がありますが、その際リクエスト元のチェックなどはされていません。
GETでアクセス時にDELETEが発行されるようなURLが存在していると検索エンジンのbotに拾われて、勝手に削除されてしまうなんて話もありますが、この場合はログインが必要なのでそうはなりません。しかし、ログインユーザが以下の様なURLにアクセスしてしまうとテーブルの中身が全部消えてしまいます。
/wp-admin/admin.php?page=aiowpsec_firewall&tab=tab6&action=delete&item[0]=) or 1=1
対象はplugin内で使っているテーブルのみなので、それほど影響は大きくないのですがあまり良くはないですね。