Windows Bluetooth サービスの RCE 脆弱性 CVE-2023-24871:研究者が PoC を公開

Researcher Unveils PoC for Windows Bluetooth Service RCE Vulnerability

2024/06/24 SecurityOnline — Windows の Bluetooth Low Energy ライブラリに存在する、脆弱性 CVE-2023-24871 (CVSS:8.8) の技術的詳細と PoC エクスプロイト・コードを、先日にセキュリティ研究者の Milos が公開した。この整数オーバーフローの脆弱性を悪用する攻撃者は、未認証で任意のコードを実行できるため、深刻なセキュリティ・リスクをもたらされる。


この脆弱性の核心は、Bluetooth Advertisement Data Packets の Advertising Sections をカウントする、コード内に存在する整数オーバーフロー・エラーにある。つまり、このパケットが 255 セクションを超えるとカウンタがオーバーフローし、処理に必要なメモリの計算ミスにつながる。それにより、ヒープベースの境界外書き込みがトリガーされ、攻撃者に対してデバイスのメモリ操作を許すことになる。


Windows の Bluetooth スタック内の複数のモジュールに、脆弱なライブラリが静的にリンクされているため、その影響は広範囲に及ぶ。具体的に言うと、その範囲には、特権サービスで使用されるカーネル・ドライバと usermode DLL も含まれるため、リモート・コード実行 (RCE) とローカル特権昇格 (LPE) の可能性が高まる。

How It Works:

  1. セクションのカウント:この関数は、8-Bit の整数を使用してアドバタイズ・データのセクションをカウントする。
  2. 整数オーバーフロー:カウントが 255 を超えるとオーバーフローが発生し、セクションのメモリ割り当てが不正になる。
  3. メモリ破壊:メモリ割り当てが不十分なため、関数がデータを解析し続ける際に境界外書き込みが発生し、メモリ破壊が発生する。

Milos による詳細な解析は、この脆弱性の悪用の可能性を明らかにし、割り当てられたデータ量の制御/境界外書き込みの操作が、攻撃者に許される状況を示している。GitHub で公開された PoC エクスプロイトは、プログラマブルな Bluetooth デバイスを悪用する攻撃者が、リモート攻撃を行う方法を紹介していため、この脆弱性の深刻度は、さらに増大する。

Milos は PoC は、この脆弱性の完全な武器化を示していないが、この脆弱性が放置された場合に生じる、潜在的な影響に対する厳しい警告となっている。

この脆弱性を認めた Microsoft は、2023年3月の Patch Tuesday update でパッチをリリースしている。しかし、このパッチは RCE だけに対応するものであり、LPE コンポーネントにはパッチが適用されていない。この、Microsoft の見落としにより、攻撃者は侵害したシステム上で昇格した権限を得るため、その他の脆弱性が悪用されという懸念が生じている。

さらに、今回の修正により、Bluetooth パケットで許可される Advertising Sections の数に制限が設けられ、Bluetooth の標準から逸脱することになった。大半のユーザーにとって、この制限自体により影響は生じないと思われるが、Microsoft の業界標準への準拠や潜在的な互換性の問題については疑問が残る。