Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

CVE-2019-11043:PHP-FPMにおける脆弱性により、nginxでリモートから任意のコードが実行される可能性あり

nginxとPHP-FPMを使用するWebサーバーは、特定の条件下でこの欠陥に対して脆弱です。

背景

10月22日、セキュリティ研究者のOmar Ganiev氏は、PHPのFastCGI Process Manager(FPM)であるPHP-FPMにおける「パッチが適用されたばかり」のリモートコード実行の脆弱性に関するツイートを公開しました。 このツイートには、脆弱性の概念実証(PoC)が公開されたGitHubリポジトリへのリンクが含まれています。

分析

CVE-2019-11043PHP-FPMのfpm_main.cにおけるenv_path_infoアンダーフローの欠陥で、2019年9月26日にセキュリティ研究者Emil Lerner氏によりPHPバグトラッカーに最初に報告されました。 Lernerは、2019年9月のCapture The Flagコンペティションで「異常」を発見したWallarmのセキュリティ研究者であるAndrew Danau氏とPoCのphp.iniオプションの最終決定を支援したGaniev氏の貢献を認めています。

Lerner氏によると、WebサーバーがnginxとPHP-FPMを使用している特定の構成では、この脆弱性が悪用され、リモートで任意のコードが実行される可能性があります。これらの構成を悪用するには、以下を含む特定の一連の前提条件が必要です。

  1. nginx locationディレクティブがリクエストをPHP-FPMに転送する
  2. fastcgi_split_path_infoディレクティブが存在し、「^」記号で始まり「$」記号で終わる正規表現が含まれる
  3. fastcgi_paramディレクティブが、PATH_INFO変数を割り当てるために使用される
  4. ファイルが存在するかどうかを判断するためのチェックがない(try_filesまたはifステートメントを使用するチェック)

このような構成と前提条件をもつシステムは珍しくなく、最近のツイートによると、オープンソースファイルホスティングソフトウェアであるNextcloudにより、以前、インストールドキュメントで脆弱なnginx構成を推奨されていたことが報告されています。このツイートで指摘されてからNextcloudは、ドキュメントを更新しています。

GitHubリポジトリに公開されたPoCは、特別に細工されたリクエストを送信することにより、ターゲットWebサーバーにクエリを実行し、脆弱かどうかを識別し、脆弱なターゲットが特定されると、脆弱なWebサーバーのURLに「?a =」を追加することにより、特別に細工されたリクエストを送信できることを実証しています。

概念実証

この脆弱性を悪用するPoCスクリプトは、GitHubリポジトリに公開されています。

解決策

10月24日に、PHP 7.3.11(現在の安定版)とPHP 7.2.24(古い安定版)がリリースされました。これらのバージョンでは、この脆弱性が対処され、その他の予定されたバグ修正も含まれています。PHP-FPMでnginxを使用している場合は、早急にパッチを適用したバージョンにアップグレードすることをお勧めします。

パッチを適用できない場合は、try_filesディレクティブを含めるか、if (-f $uri)などのifステートメントを使用し、ファイルが存在するかどうかを確認するためのチェックを含めることをお勧めします。

攻撃されたシステムの特定

この脆弱性を識別するためのテナブルのプラグインのリストは、リリースされた時点でこちらに表示されます。

詳細情報を入手する

TenableコミュニティのTenableセキュリティレスポンスチームにご参加ください

最新のアタックサーフェスを総合的に管理する初のサイバーエクスポージャープラットフォーム、 Tenable.io の詳細情報をご覧ください。

今すぐ Tenable.io Vulnerability Management の60日間無料トライアルをお試しください。

Tenableブログを購読する

購読する
無料でお試し 今すぐ購入

Tenable.ioを試す

30 日間無料

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 今すぐサインアップしてください。

Tenable.ioを購入する

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 年間サブスクリプションをご購入ください。

65 資産
無料でお試し 今すぐ購入

Nessus Professionalを無料で試す

7日間無料

Nessus®は、最も包括的な脆弱性スキャナです。Nessus Professionalは脆弱性のスキャンプロセスを自動化し、コンプライアンスサイクルを短縮し、お客様がITチームに専念できるようにサポートします。

Nessus Professionalを購入する

Nessus®は、最も包括的な脆弱性スキャナです。Nessus Professionalは脆弱性のスキャンプロセスを自動化し、コンプライアンスサイクルを短縮し、お客様がITチームに専念できるようにサポートします。

複数年ライセンスをご購入いただくと割引が適用されます。拡張サポートを追加していただくと、電話、メール、コミュニティ、チャットサポートを年中いつでもご利用いただけきます。詳細についてはこちらを参照してください。

無料でお試し 今すぐ購入

Tenable.io Web Application Scanningを試す

30 日間無料

Tenable.ioプラットフォームの一部として最新のアプリケーション用に設計された、最新のWebアプリケーションのスキャンサービスの全機能にアクセス可能です。手作業による労力や重大なWebアプリケーションの中断なしに、脆弱性のオンラインポートフォリオを安全に高精度でスキャンします。 今すぐサインアップしてください。

Tenable.io Web Application Scanningを購入する

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 年間サブスクリプションをご購入ください。

5 FQDNs
無料でお試しください セールスにご連絡ください

Tenable.io Container Securityを試す

30 日間無料

脆弱性管理プラットフォームに統合された唯一のコンテナセキュリティ製品の全機能にアクセス可能です。コンテナイメージの脆弱性、マルウェア、ポリシー違反を監視継続的インテグレーション/継続的デリバリー(CI / CD)システムと統合し、DevOpsプラクティス、セキュリティ強化、および企業のポリシーコンプライアンスをサポート

Tenable.io Container Securityを購入する

Tenable.ioのContainer Securityは、ビルドプロセスと統合することにより、コンテナイメージのセキュリティ(脆弱性、マルウェア、ポリシー違反など)を可視化し、シームレスかつ安全なDevOpsプロセスを実現します。

Industrial Securityについてもっと知る

Tenable.scのデモを入手する

以下のフォームに連絡先をご記入ください。営業担当者からデモのスケジュールについてご連絡いたします。短いコメントもご記入いただけます(255文字まで)。アスタリスク(*)マークの付いた欄は必須です。

無料でお試しください セールスにご連絡ください

Tenable Luminを試す

30 日間無料

Tenable Luminを使用して、Cyber Exposureを可視化および調査し、リスクの軽減を追跡し、競合他社に対してベンチマークしましょう。

Tenable Luminを購入する

Tenableの担当者にお問い合わせいただき、組織全体に対するインサイトを得て、サイバーリスクを管理する上でLuminがいかに役立つかについて、Tenableの営業担当者までお問い合わせください。