CVE-2023-51409: The Severe Vulnerability Threatening 50,000 WordPress Sites
2024/01/09 SecurityOnline — AI Engine プラグインは、50,000 以上のアクティブなインストールを持つ人気の WordPress プラグインだが、先日に深刻なセキュリティ脆弱性が発見された。この、認証を必要としない任意のファイル・アップロードを許してしまう、脆弱性 CVE-2023-51409 により、このプラグインを使用している Web サイトに深刻なリスクが生じている。
この脆弱性は、認証されていないユーザーが、PHP ファイルを含む任意のファイルをアップロードできることに起因している。この機能は、Web サイトをホストするサーバ上での悪意のコード実行という、深刻なリモートコード実行 (RCE) の可能性を生み出す。この脆弱性は Critical なものであり、CVSS スコアは 10.0 と評価されている。
脆弱性 CVE-2023-51409 は、AI Engine プラグインの rest_upload 関数に存在しており、ファイル・アップロードに対する適切なセキュリティ・チェックの欠落を意味する。この関数は、プラグインの REST API の一部であり、アップロードされたファイルのタイプと拡張子を適切に検証していなかった。その結果として、脆弱性 CVE-2023-51409 の悪用に成功した攻撃者は、PHP スクリプトのような危険なファイルをアップロードし、サーバ上で実行することを可能にしていた。
この脆弱性の根本的な原因は、REST API エンドポイントに適切な permission_callback パラメータが存在しないことにあった。この見落としにより、あらゆるユーザーが認証を必要とせずに、rest_upload 関数を起動することが可能となっていた。一般的には、このようなアクションの実行は認証されたユーザーに制限されるべきだが、典型的なセキュリティ対策がバイパスされる状況にあった。
classes/modules/files.php, function rest_api_init()
public function rest_api_init() {
register_rest_route( $this->namespace, ‘/files/upload’, array(
‘methods’ => ‘POST’,
‘callback’ => array( $this, ‘rest_upload’ ),
‘permission_callback’ => ‘__return_true’
) );
register_rest_route( $this->namespace, ‘/files/delete’, array(
‘methods’ => ‘POST’,
‘callback’ => array( $this, ‘rest_delete’ ),
‘permission_callback’ => ‘__return_true’
) );
}
この問題の重大性を認識した AI Engine プラグインの開発者は、バージョン 1.9.99 のアップデートを速やかにリリースした。このアップデートにより脆弱性は修正され、認証を必要としないファイル・アップロードという、セキュリティ・ギャップは解消された。
AI Engine プラグインのユーザーに推奨されるのは、同プラグインのバージョンが 1.9.99 以降にアップデートされていることの確認である。Web サイト管理者たちは、常に警戒を怠らず、このような脆弱性に対抗するために、すべてのプラグインに加えて、WordPress コアをアップデートしておく必要がある。
WordPress プラグインの、ホラー・ストーリーの最新版です。このブログも、いろんなプラグインで機能を追加したいと思っていますが、今回のような脆弱性を知ると、その気も失せてしまいます。この地帯は、ほんとうに危ない領域ですね。よろしければ、WordPress で検索も、ご利用ください。


You must be logged in to post a comment.