Tenable ブログ
ブログ通知を受信するCVE-2020-0618: Microsoft SQL Server Reporting Services の脆弱性を悪用する概念実証が公開される
Microsoft SQL Server Reporting Services におけるリモートでコードが実行される脆弱性を悪用する概念実証(PoC)コードが公開されたため、Web サイトは攻撃に対して脆弱です。
背景
2月11日、マイクロソフトは Microsoft SQL Server Reporting Services(SSRS)のリモートコード実行の脆弱性を修正しました。この修正パッチでは、「モバイルレポートおよびページ分割レポートを作成、展開、管理するオンプレミスツールとサービスのセット」が提供されています。この脆弱性は、MDSec のプリンシパルセキュリティコンサルタントである Soroush Dalili 氏によりマイクロソフトに報告されました。
分析
CVE-2020-0618は、SSRS の ReportingServicesWebServer.dll の不適切な入力検証のために発生する脆弱性です。Dalili 氏のブログ記事によると、Microsoft.Reporting.WebForms.BrowserNavigationCorrector クラスの OnLoad メソッドは、認証されていないユーザー入力(NavigationCorrector$ViewState パラメーターを介して渡されるシリアル化されたペイロード)を LosFormatter クラスに渡して、逆シリアル化します。
Dalili 氏は彼の研究で Microsoft.Reporting.WebForms.BrowserNavigationCorrector クラスが Microsoft.ReportingServices.WebServer.ReportViewerPage クラスによって使用されていることを観察しました。
Dalilis 氏は、SharePoints サーバー上の ReportViewer.aspx ファイルを標的にし、yalserial.net を使用して生成されたシリアル化されたペイロードを含む特殊な細工が施されたPOSTリクエストを送信することにより、脆弱性のあるサーバーでシェルを取得してエクスプロイトを仕掛けることができました。
この脆弱性を悪用するには、攻撃者は Microsoft SSRS をインストールする必要がありますが、脆弱なインスタンスを調査しているセキュリティ研究者から以下の報告があります。
Found and reported CVE-2020-0618 on a server of a very large car company :P Lets see if its a dupe :P
— Damian Schwyrz (@damian_89_) February 18, 2020
ペネトレーションテスト担当者の Damian Schwyrz 氏は最近、大手自動車会社のサーバーでこの脆弱性を特定したことを報告しています。
さらに、Dalili 氏は、公開されている8,900件を超える ReportViewer.aspx のインスタンスを表示する Google 検索結果を共有しました。これらの多くは政府関連のものです。
so many gov websites listed just in google...
— Soroush Dalili (@irsdl) February 18, 2020
この Google 検索で見つかったサイトのうち、実際にこの脆弱性の影響を受けているサイトの数は不明です。しかし、攻撃者は脆弱な Web サイトを特定し、攻撃を仕掛ける可能性があります。
概念実証
前述のとおり、Dalili 氏は2月14日のブログ記事で脆弱性の概念実証を公開しました。また、同日に Dalili 氏の概念実証が GitHub リポジトリに公開されました。このブログ記事が公開された時点では、この脆弱性に悪用できるエクスプロイトコードは公開されていません。
ソリューション
マイクロソフトは2月11日に月例更新プログラムの一環としてこの脆弱性に対処しました。マイクロソフトの更新プログラムガイドによると、この脆弱性は Microsoft SQL Server 2012、2014、2016に影響を与えますが、セキュリティ研究者の Kevin Beaumont 氏からの追加の報告によると、この脆弱性は Microsoft SQL Server 2008 にも影響を与えることが確認されています。2008がアドバイザリに記載されていない理由は、2014年7月にサポートが終了したためです。
Tested it. MS don’t test again unsupported software.
— Kevin Beaumont (@GossiTheDog) February 18, 2020
マイクロソフトは、影響を受ける SQL Server のバージョン向けに General Distribution Release(GDR)および Cumulative Update(CU)を提供しています。マイクロソフトによると、GDR の更新には「指定されたベースラインのセキュリティ更新のみ」が含まれています。一方、CU には「指定されたベースラインのすべての機能修正とセキュリティ更新」が含まれています。
使用しているバージョンに対する SQL Server の適切な更新については、以下の表を参照してください。
記事 | タイトル | タイプ | 対象バージョン | 含まれるサービスリリース |
---|---|---|---|---|
4532097 | Security update for SQL Server 2016 Service Pack 2 | GDR | 13.0.5026.0—13.0.5101.9 | KB4505220 |
4535706 | Security update for SQL Server 2016 Service Pack 2 | CU | 13.0.5149.0—13.0.5598.27 | KB4527378 |
4532095 | Security update for SQL Server 2014 Service Pack 3 | GDR | 12.0.6024.0—12.0.6108.1 | KB4505218 |
4535288 | Security update for SQL Server 2014 Service Pack 2 | CU | 12.0.6205.1—12.0.6329.1 | KB4500181 |
4532098 | Security update for SQL Server 2012 Service Pack 4 | GDR | 111.0.7001.0—11.0.7462.6 | KB4057116 |
影響を受けているシステムの特定
この脆弱性を識別するための Tenable プラグインのリストは、こちらからご覧いただけます。これには、無認証チェック(プラグインID 133718)が含まれます(paranoid モード有効にする必要があります)。
詳細情報
- Microsoft の CVE-2020-0618に関するセキュリティ更新プログラムガイド
- Soroush Dalili 氏による CVE-2020-0618の分析ブログ
- SQL Server 2008の影響を確認する Kevin Beaumont 氏のツイート
Tenable コミュニティの Tenable セキュリティレスポンスチームに参加してみませんか。
現代のアタックサーフェスを総合的に管理する Cyber Exposure Platform を初めて提供した Tenable について詳細情報をご覧ください。
今すぐ Tenable.io Vulnerability Management の 30 日間無料トライアルをお試しいただけます。
関連記事
- Vulnerability Management