公開日:2017/03/22 最終更新日:2017/03/22

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

概要

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

影響を受けるシステム

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

次のような名称のドライバを使用している場合、本脆弱性の影響を受ける可能性があります。

  • PcaSp60.sys
  • PcaSp50.sys
  • PcaMp60.sys
  • PcaMp50.sys
さらに詳しい情報は、研究者のブログ記事をご確認ください。

詳細情報

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

バッファオーバーフロー (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 バージョンに対する再現手順を公開しています。

想定される影響

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

対策方法

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

ベンダ情報

参考情報

  1. CERT/CC Vulnerability Note VU#600671
    PCAUSA Rawether for Windows local privilege escalation
  2. ReWolf's blog
    PCAUSA Rawether for Windows local privilege escalation
  3. Internet Archive
    Rawether for Windows

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
基本値: 7.8
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:L/AC:M/Au:S/C:C/I:C/A:C
基本値: 6.6
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2017-3196
JVN iPedia