Tenable ブログ
ブログ通知を受信するCVE-2017-9841:DrupalサイトでMailchimpモジュールにおけるPHPUnitの脆弱性を突いた攻撃が確認される(PSA-2019-0904)
攻撃者は、約3年前に修正された脆弱性を突いて、Drupalサイトを攻撃しています。
背景
9月4日、DrupalはPSA-2019-09-04を公開しました。PSA-2019-09-04は、Drupalモジュールのサードパーティライブラリの脆弱性に関するパブリック・サービス・アナウンスメント(PSA)で、この脆弱性に対する攻撃は確認されています。
分析
CVE-2017-9841は、PHPユニットテストフレームワークであるPHPUnitのコードインジェクションの脆弱性です。PHPUnitライブラリは、DrupalのMailchimpおよびMailchimp E-Commerceモジュールの一部であり、それらのモジュールページによると、現在25,000以上のサイトで使用されています。
2017年6月、「vulnbusters」と呼ばれるTwitterアカウント が作成され、Webサイトに脆弱性に関するアドバイザリが公開されました。このWebサイトは、現在無効になっていますが、こちら(インターネットアーカイブのWayback Machine)から入手できます。
アドバイザリでは、php://inputラッパーを使用した場合の/phpunit/src/Util/PHP/eval-stdin.phpファイル内の脆弱性が特定されています。パッチを適用したバージョンでは、PHPUnitは、代わりにphp://stdinラッパーを使用します。認証されていない攻撃者は、脆弱なeval-stdin.phpファイルを含むWebサーバーにHTTP POSTリクエストを送信してこの脆弱性を悪用し、任意のコードを実行する可能性があります。
Vulnbustersのアドバイザリページによると、PHPUnitの以前のバージョンには、コードインジェクションの脆弱性が含まれていました。この脆弱性は、2016年11月にリリースされた phpdbgを使用したテストの問題に対処するPHPUnit バージョン4.8.28 およびバージョン5.6.3で修正されています。
2018年2月、ホスティングプロバイダから連絡を受けたユーザーからDrupalのMailchimpプロジェクトに問題が報告され、Webサーバーのeval-stdin.php eval-stdin.phpが有害であることが示されました。2018年5月に同じ問題についてコメントした別のユーザーも、ホスティングプロバイダから同じフィードバックを受け取っています。また、2018年2月、Kevin Beaumont(@GossiTheDog)は、攻撃者がDrupalハニーポットを標的にしてCVE-2017-9841を悪用しようとしていることを発見しました。
Ok, MailChimp API ships PHPunit, which as a remote unauthenticated code execution bug https://t.co/fAQjErb2ed - there’s no known exploit I can see but somebody has one.
— Kevin Beaumont (@GossiTheDog) February 26, 2018
CVE-2017-9841は、Drupal以外、Jekyll ExporterプラグインなどのWordPressプラグイン、MediaWikiおよびオープンソース学習プラットフォームMoodleでも見つかっています。
概念実証
概念実証(PoC)は、2017年6月のVulnbustersアドバイザリで最初に公開されました。
ソリューション
前述のとおり、CVE-2017-9841に対する修正は、2016年11月にPHPUnitに適用されました。この脆弱性は、以下の表の特定のバージョンのPHPUnitに影響を与えます。
脆弱なPHPUnitバージョン | 修正されたPHPUnitバージョン |
---|---|
4.8.19 - 4.8.27 | 4.8.28以降 |
5.0.10 - 5.6.2 | 5.6.3以降 |
MailchimpおよびMailchimp E-Commerceモジュールでは、Mailchimp API for PHPバージョン1.0.7以前は脆弱であると見なされます。 Drupalセキュリティチームは、Drupalのユーザーがこれらのモジュールを以前にインストールしたことがある場合でも、Webサーバーへのインストールからアーティファクトが残る可能性があることを指摘しています。脆弱なサーバーにはeval-stdin.phpが存在する可能性があります。このファイルが存在し、php://inputラッパーをphp://stdinの代わりに参照する場合、サーバーはCVE-2017-9841に対して脆弱です。
影響を受けているシステムの特定
この脆弱性を識別するための Tenable のプラグインのリストは、リリースされた時点で こちら に表示されます。
詳細情報
Tenable コミュニティの Tenable セキュリティレスポンスチームに参加してみませんか。
現代のアタックサーフェスを総合的に管理する Cyber Exposure Platform を初めて提供した Tenable について詳細情報をご覧ください。
今すぐ Tenable.io Vulnerability Management の60日間無料トライアルをお試しください。
関連記事
- Threat Intelligence
- Threat Management
- Vulnerability Management
- Vulnerability Scanning