概要
WordPressのLoginizerというセキュリティプラグインに、致命的な脆弱性が見つかったことと、当該プラグインの強制アップデートが行われた話。
Logininzerの脆弱性
Logininzerにはログイン試行を失敗したユーザ名やIPアドレスを記録する機能があるが、DBに保存する際にSQLインジェクションの脆弱性があったという不具合。セキュリティ強化プラグインを名乗っているのに、「サニタイジングを試みて失敗した」ですらない残念な脆弱性かつ、2年前にもSQLインジェクションの脆弱性を指摘され修正していたという本当に残念なプラグイン。
この脆弱性はログイン画面での入力を攻撃に使うため、未認証で利用できるSQLインジェクションということで、致命的な脆弱性と言える。
WordPressでのプラグインの強制アップデート
恐らく、攻撃に特別な条件が不要なこと、攻撃が簡単なこと、プラグインのインストール数が多いことなどの理由を理由として、WordPressの強制アップデート機能を利用しての当該プラグインのアップデートが行われた。これは自動アップデートを無効にしていたとしても、依然有効な自動アップデート機能だった。
どのような機構で強制アップデートを行うことができたのか、今後調べてみる。