Webサイトの29%は、1台のマシンでもDOS攻撃に対して脆弱です(CVE-2018-6389)





Webサイトの所有者の許可がない限り、この脆弱性の悪用は違法であることに注意することが重要です。


シンプルだが非常に深刻なアプリケーションレベルのサービス拒否(DoS)の脆弱性がWordPress CMSプラットフォームで発見され、1台のマシンでもほとんどのWordPress Webサイトを無効にできる可能性があります。 これは、DDoS攻撃が必要とするように、帯域幅をオーバーフローさせるために膨大な数のコンピューターを使用する必要なく発生しますが、同じ結果になります。



WordPress Foundationは問題の修正を拒否したため、脆弱性( CVE-2018-6389 )はパッチなしのままであり、最新の安定版(WordPressバージョン4.9.2)を含む、過去9年間にリリースされたWordPressのほぼすべてのバージョンに影響します。



イスラエルのセキュリティ研究者であるBarak Tawilyは、WordPress CMSの組み込みスクリプトであるload-scripts.phpもユーザーリクエストを処理することを主張する脆弱性を発見しました。



開発者が考えたように、load-scripts.phpファイルは管理者のみを対象としており、複数のJavaScriptファイルを1つのリクエストに(サーバー上で)結合することにより、サイトのパフォーマンスを改善し、ページをより速く読み込むために作成されました



ただし、「load-scripts.php」がログイン前に管理者ログインページ(wp-login.php)で機能するため、WordPress開発者は認証メカニズムを提供していません。その結果、この機能は誰でも利用できます。







インストールしたプラグインおよびモジュールに応じて、load-scripts.phpファイルは必要なJavaScriptファイルを選択的に呼び出し、それらの名前をコンマで区切られた「load」パラメーターに渡します。たとえば、次のURLです。



https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery







Webサイトがロードされると、「load-scripts.php」はURLで指定されたJavaScriptファイルの各名前を検索し、そのコンテンツを1つのファイルに追加してから、ユーザーのブラウザーに送信しようとします。



WordPress DoS攻撃の仕組み







研究者によると、load-scripts.phpを使用してすべての可能なJavaScriptファイル(合計181個のスクリプト)を1回のパスで呼び出し、それらの名前を上記のURLに渡すことができます。 これにより、ターゲットサイトの動作が少し遅くなり、プロセッサとサーバーメモリのコストが高くなります。

「ユーザーがload []パラメーターの一部として要求できる、明確に定義されたリスト($ wp_scripts)があります。 要求された値が存在する場合、サーバーは必要なI / O読み取りを実行します」とTawily氏は言います。

1回のリクエストだけではすべての訪問者にサイト全体を「置く」ことはできませんが、Tawilyはpythonスクリプトを使用して概念実証(PoC)を作成しました。 彼が作成したdoser.pyは、サーバーのできるだけ多くのCPUリソースを使用し、他のユーザーが利用できるリソースを最小限に抑えるために、同じURLに対して多数の同時リクエストを行います。



Hacker Newsは、中規模のVPSで実行されているWordPressデモサイトの1つを正常に配置することにより、DoSエクスプロイトの信頼性を検証しました。

「Load-scripts.phpは認証を必要としません。匿名ユーザーはこれを行うことができます。 Tawily氏によると、約500件のリクエストの後、サーバーはコード内で502/503/504エラーのステータスに応答したり、エラーを返したりしなくなりました。
ただし、最大40 Mbpsの接続を持つ1台のマシンからの攻撃は、高い計算能力と大きなメモリ容量を備えた専用サーバーで実行されている別のデモWebサイトのサービス拒否を引き起こすには不十分でした。







これは、アプリケーションレベルの攻撃では通常、攻撃者の標的に到達するために必要なパケットと帯域幅がはるかに少ないため、 強力なサーバーで実行されているWordPress Webサイトに対してこの欠陥が効果的でないことを意味しません。



したがって、帯域幅の広いハッカーや複数のボットがこの脆弱性を悪用して、大規模で人気のあるWordPress Webサイトを攻撃する可能性があります。



パッチなし-軽減ガイド





Tawilyは完全な開示に加えて、攻撃のビデオデモも提供しました。 ビデオを見ると、実際の攻撃を確認できます。



DoSの脆弱性がWordPressのバグ報奨金プログラムを超えたことを知ったTawilyは、このDoSの脆弱性をHackerOneプラットフォームを通じてWordPressチームに責任を持って報告しました。



しかし、このようなエラーはWordPressの制御範囲を超えており、「アプリケーションレベルではなく、サーバーレベルまたはネットワークレベルで緩和する必要がある」と述べ、この問題を認めることを拒否しました。



インターネット上のサイトの約29%がWordPressを使用しているため、この脆弱性は深刻なようです。 これにより、数百万のサイトがハッカーに対して脆弱になり、ユーザーがアクセスできない可能性があります。



アプリケーションレベルでの攻撃に対する保護を提供するサービスを提供できないサイトの場合、研究者はこの脆弱性に対するパッチを含むWordPress分岐バージョンを提供しました。 ただし、ソースが信頼できると思われる場合でも、変更されたCMSをインストールするリスクを考慮する必要があります。 さらに、研究者は、すでにインストールされているWordPressの問題を修正する単純なbashスクリプトもリリースしました。



All Articles