WordPress Custom Contact Form プラグインにリモート脆弱性が報告されました。Custom Contact Forms5.1.0.3には、リモートからデータベースを変更できる脆弱性がありました。ユーザー権限が適切にチェックされていなかったためらしいです。このため、本来なら管理者のみが実行できるデータインポート/エクスポート機能が、権限を持たないユーザーで実行できてしまいました。
WordPressセキュリティチームが修正した
プラグインに脆弱性を発見した場合、たいていはプラグイン開発者に連絡し、プラグイン開発者が修正します。直接連絡する場合のほか、IPA等に連絡し、IPAから開発者に連絡してもらう、という方法もあります。
しかし、今回は通常とは状況が異なります。Critical Vulnerability Disclosed on WordPress Custom Contact Forms Pluginによると、WordPressセキュリティチームがプラグインリポジトリにあるソースコードを修正したようです。かなり異例の事態だと思われます。脆弱性が、「リモートからデータベースを変更できる」という重大なものだからかもしれません。
オープンソースだと、開発者自身が直さない場合に、第三者が修正できる
もちろん、セキュリティ脆弱性を作らないのが理想です。しかし人間がプログラムする以上、絶対にミスしないわけではありません。そして、もし、プラグインに脆弱性が発見された場合、開発者が必ず直すとは限りません。ただ今回のように重大な脆弱性の場合は、プラグイン作者任せにせず、WordPressセキュリティチームが応急処置を取ることがあるようです。
wordpress.org で公開されているプラグインは全てGPL互換です。このため自由に変更することができます。なので、脆弱性が発見され、開発者自身が直さない場合に、第三者が修正できます。今回の件で、オープンソースのメリットの一つが実感できました。もし、CMS のプラグインがオープンソースでなかったら、元のCMSの開発者であっても、プラグインのコードを勝手に書き換えるわけにはいかなかったでしょう。