人気WordPressプラグイン「Ninja Forms」に任意ファイルアップロードとパストラバーサルの脆弱性が発見
Ninja Formsは、ドラッグ&ドロップ操作だけでフォームの作成やカスタマイズを手軽に行えるWordPressプラグインです。現在100万以上のウェブサイトで利用されており、その人気の高さがうかがえます。しかし先日、同プラグインの「File Upload」拡張機能に任意ファイルアップロードおよびパストラバーサルの脆弱性が存在することが明らかになり、多くのユーザーに衝撃を与えました。

この脆弱性は、情報セキュリティ企業Onvioによって発見されました。同社はペネトレーションテストの結果を「PENTEST REVEALS VULNERABILITIES IN WORDPRESS PLUGIN NINJA FORMS <= 3.0.22」という記事で公開しています。
以下では、ペネトレーションテストで判明した脆弱性の詳細をご紹介します。
脆弱性の詳細
Onvioは、クライアント向けのペネトレーションテストを実施中に、Ninja Formsがパストラバーサルと任意のコード実行を許してしまうことを発見しました。
この問題により、認証を受けていない攻撃者でもファイルシステム内を自由に移動して重要なファイルへアクセスし、includes/fields/upload.php(アップロード/送信ページ)のnameパラメータとtmp_nameパラメータを通じてコードを実行できる状態になっていたのです。
任意ファイルアップロード
攻撃者がサーバーへ送信したリクエストは、以下の画像の通りです。

そして、攻撃者が受け取ったレスポンスがこちらです。

上記レスポンス内のtmp_nameを利用し、攻撃者は悪意あるアクセスとして検知されないよう、角括弧を含むファイル名で再度サーバーにリクエストを送信しました。

結果は予想どおりでした。WordPressのsanitize_file_name関数は、事前定義された一部の特殊文字しかサニタイズしないため、このケースでは角括弧が削除されます。その結果、<?php phpinfo(); ?>という内容を含むtest.png.docファイルが、コアファイルであるtest.phpとしてアップロードされてしまったのです。

パストラバーサル
攻撃者は次に、以下のコードを使ってwp-config.phpファイルの取得を試みました。その結果、データベースの機密情報が表示されてしまいました。


安全のための対策
Ninja Formsの脆弱性は、脆弱性のあるバージョン3.0.22に代わるバージョン3.0.33のリリースによりすでに修正されています。今すぐ最低限行うべき対策は、サイトを最新バージョンへ更新することです。
WordPress向けセキュリティソリューション「Astra」
Astraのような包括的なセキュリティソリューションを導入すれば、WordPressサイトを24時間365日、あらゆるハッキングから保護できます。Astraのファイアウォールはトラフィックを常時監視し、XSS、CSRF、悪質ボットをはじめとする100種類以上の攻撃をブロックします。月額19ドルから利用可能なため、個人ブログでも導入しやすい価格設定も魅力です。WordPressなどのCMS向けに特別に設計されたAstraで、深刻なトラブルからサイトを守りましょう。まずは無料デモをお試しください。
-
【緊急】WordPressプラグイン「Strong Testimonials」に保存型XSS脆弱性(CVE-2020-8549)-バージョン2.40.0以下は今すぐアップデートを
人気のWordPressお客様の声(テスティモニアル)プラグイン「Strong Testimonials」のセキュリティ調査を実施したところ、複数の保存型XSS(Stored XSS)脆弱性が発見されました。この脆弱性の影響を受けるのは、Strong Testimonials バージョン2.40.0 以下を使用しているすべてのWordPressサイトです。 CVE ID:CVE-2020-8549 CWE ID:CWE-79 概要 Strong Testimonialsは、柔軟にカスタマイズできることから広く利用されているWordPressのお客様の声表示プラグインで、9万件以上の有効イン
-
WordPressプラグイン「GDPR Cookie Consent」に重大な脆弱性が発見される――権限昇格・保存型XSSの危険性、至急アップデートを
WordPressユーザーがGDPR(EU一般データ保護規則)への対応を簡単に行えるようにする人気プラグイン「GDPR Cookie Consent」において、不適切なアクセス制御による脆弱性が発見されました。この脆弱性を悪用されると、権限昇格や保存型XSS(クロスサイトスクリプティング)といった深刻な攻撃につながる可能性があります。執筆時点で、このプラグインは70万以上のWordPressサイトで利用されており、影響範囲は非常に広いと言えます。 脆弱性に関するタイムライン 報告日:2020年2月4日修正日:2020年2月10日影響を受けるバージョン:1.8.2以前のすべてのバージョ