【活用ガイド】

JVNDB-2017-001917

PCAUSA Rawether for Windows に権限昇格の脆弱性

概要

Printing Communications Assoc., Inc. (PCAUSA) の Rawether フレームワークは、Berkeley Packet Filter (BPF) データを適切に検証していないため、細工された BPF プログラムを使用することで、想定されている範囲を超えたメモリ内容を操作することが可能です。
この脆弱性を悪用することで、Windows システムにおいて権限昇格される可能性があります。

Printing Communications Assoc., Inc. (PCAUSA) が作成した Rawether for Windows は、アプリケーションから Network Driver Interface System (NDIS) プロトコルドライバを操作するためのフレームワークです。このフレームワークは多数の機器ベンダで、Wi-Fi 機器やルータを制御するアプリケーションに使用されています。
Rawether は Berkeley Packet Filter (BPF) メカニズムによるパケットフィルタリング機能を実装しています。BPF では、フィルタ内容を表現した小さなプログラムが BPF 仮想マシンによって実行されます。

Network Driver Interface System
https://msdn.microsoft.com/en-us/windows/hardware/drivers/network/introduction-to-ndis-protocol-drivers

Berkeley Packet Filter
https://www.kernel.org/doc/Documentation/networking/filter.txt

バッファオーバーフロー (CWE-119) - CVE-2017-3196
Rawether は、BPF プログラムを実行する前に適切な検証を行っていません。細工した BPF プログラムによって任意のメモリ内容を読み書きされたり、無限ループを引き起こされたりする可能性があります。スタック領域に置かれたリターンアドレスが上書きされることで、SYSTEM 権限で任意のコードを実行される可能性があります。

NDIS_PACKET_TYPE_ALL_LOCAL フラグをつけた NDIS の OID_GEN_CURRENT_PACKET_FILTER リクエストにより、細工された BPF プログラムを設定した後、最初に受信したネットワークパケットを読み込む際に当該 BPF プログラムが実行されます。

研究者は、ASUS の無線 LAN カード PCE-AC56 で使用されているドライバ PcaSp60.sys の 64bit バージョンに対する再現手順を公開しています。

再現手順
http://blog.rewolf.pl/blog/?p=1778
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.8 (重要) [IPA値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
CVSS v2 による深刻度
基本値: 6.6 (警告) [IPA値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 中
  • 攻撃前の認証要否: 単一
  • 機密性への影響(C): 全面的
  • 完全性への影響(I): 全面的
  • 可用性への影響(A): 全面的
影響を受けるシステム


(複数のベンダ)
  • (複数の製品)

Rawether フレームワークは多くのベンダに提供されており、影響を受けるドライバ名、バージョン、機器名などは多岐にわたります。脆弱性が存在するドライバは、おもに Wi-Fi ユーティリティプログラムなどに含まれています。

次のような名称のドライバを使用している場合、本脆弱性の影響を受ける可能性があります。
  • PcaSp60.sys
  • PcaSp50.sys
  • PcaMp60.sys
  • PcaMp50.sys
さらに詳しい情報は、研究者のブログ記事 をご確認ください。
想定される影響

ローカルのユーザによって、細工された BPF プログラムを実行される可能性があります。結果として、SYSTEM 権限で任意のコードを実行される可能性があります。
対策

[アップデートする、または影響を受けるソフトウェアをアンインストールする]
対象製品の開発者が提供する情報をもとに、Rawether ドライバを使用するソフトウェアをアップデートしてください。
または、影響を受けるソフトウェアをアンインストールしてください。
影響を受ける製品開発者の情報は、CERT/CC VU#600671 の Vendor Information をご確認ください。

CERT/CC VU#600671 の Vendor Information
http://www.kb.cert.org/vuls/id/600671#vendors
ベンダ情報

マイクロソフト
CWEによる脆弱性タイプ一覧  CWEとは?

  1. バッファエラー(CWE-119) [IPA評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2017-3196
参考情報

  1. JVN : JVNVU#98590454
  2. National Vulnerability Database (NVD) : CVE-2017-3196
  3. US-CERT Vulnerability Note : VU#600671
  4. 関連文書 : Linux Socket Filtering aka Berkeley Packet Filter (BPF)
  5. 関連文書 : PCAUSA Rawether for Windows local privilege escalation
  6. 関連文書 : Rawether for Windows
更新履歴

  • [2017年03月23日]
      掲載
  • [2018年04月11日]
      参考情報:National Vulnerability Database (NVD) (CVE-2017-3196) を追加