カスタムフィールドテンプレートに脆弱性
カスタムフィールドテンプレートプラグイン
Wordpressにはカスタムフィールドというサイトやブログ特有の繰り返し使われる情報を特別に扱う機能が用意されています。
そのカスタムフィールドの登録と利用を簡易化するのがカスタムフィールドテンプレートプラグイン (以下CFT)で、長いあいだ多くのサイトで利用されています。
wordpress.orgのプラグイン公式ページ によると有効インストールサイト数は5万以上とされています。
WordfenceがCFTをCriticalと判定
Wordfence はWordpressサイトのセキュリティを監視する必須プラグインで、その有効インストール数は実に400万以上!
筆者が管理するWordpressサイトにはすべてインストールしてあります。
Wordfenceは常々様々な要素の脆弱性も監視していますが、ひと月まえほどからCFTがCriticalと判定されています。
Wordfence Inteligence のCFTの記事 を見ると
The Custom Field Template plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 2.5.8. This is due to missing or incorrect nonce validation on the ‘custom_field_template_admin’ function. This makes it possible for unauthenticated attackers to make updates to any custom field templates (and other plugin options) via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
つまり、CFTを使っていると外部からサイトにログインしていないユーザーでも悪意を持ったハイパーリンクの埋め込みを可能にしたり、インストールしているプラグインのオプションを変更できてしまうセキュリティホールがあると指摘されています。
対策は?
大抵このような重大な問題が指摘されるとプラグインの開発元が対応して、Wordfence Inteligenceで再評価されますが、CFTの場合最後の更新は4ヶ月前となっていて未だに未対応の状態になっています。
筆者も今後の見通しなどが気になって開発元へメールを送ってみましたが、いまのところ返信はもらえていません。
当サイトcrftもCFTのお世話になっている部分があり、ちょっと困っていますがWordfenceでCriticalと判定されているプラグインを放置しておくわけにはいきません。
そこで同じ機能を別のプラグインで実現することを考えました。
代替えプラグインを考える
筆者がCFTで運用していたのは現代グラフィックデザイン用語辞典 部分。
用語がどのような職種やソフトウェアに関連があるのかを登録してあります。
つまりひとつの投稿に職種とソフトウェアを複数選択指定することができて、ページを表示するときに指定した内容が表示されれば良いわけです。
CFTを使わずに同じ処理を行うために筆者が選択したプラグインはAdvanced Custom Fieldプラグイン (以下ACF)です。
更新も頻繁に行われていて有効インストール数は200万を超えています。
crftにとってACFはもうひとつ大きなアドバンテージがあります。
Elementorのダイナミックタグに対応している
なんとACFで登録したカスタムフィールドはElementor Proのダイナミックタグで好きな場所へ呼び出すことが可能なのです!
この事実を息子から聞かされたときに、もうACFに切り替えないといけないなと常々思っていましたが、今回よい機会になりました。
いつも注意が必要なカスタムフィールド系プラグイン
いまではWordfence InteligenceのACFに対する評価は優良なものになっていますが、2022年10月にはCFT同様Criticalの判定がされました。
どんなプラグインも注意しながら利用する必要がありますが、カスタムフィールド系のプラグインは特に注意が必要な印象です。
-
カスタムフィールドテンプレートに脆弱性の関連リンク