数日前、Broadcomワイヤレスチップのドライバーが XNUMXつの脆弱性が検出されましたその これらのチップを含むデバイスでリモート攻撃を実行できます。
最も単純なケースでは、脆弱性はサービス拒否に使用できます リモート、 ただし、脆弱性が発生する可能性のあるシナリオは除外されません これにより、認証されていない攻撃者が、特別に細工されたパッケージを送信することにより、Linuxカーネルの権限でコードを実行できるようになります。
これらの問題は、Broadcomのファームウェアリバースエンジニアリング中に特定されました。 脆弱性が発生しやすいチップは、ラップトップ、スマートフォン、およびSmartTVからIoTデバイスまでのさまざまな消費者向けデバイスで広く使用されています。
特に、Broadcomチップは、Apple、Samsumg、Huaweiなどのメーカーのスマートフォンで使用されています。
それは注意する必要があります Broadcomは2018年7月に脆弱性の通知を受けましたが、約XNUMXか月かかりました (つまり、今月進行中です)機器メーカーと調整した打ち上げ修正。
検出された脆弱性は何ですか?
XNUMXつの脆弱性が内部ファームウェアに影響を及ぼします そして潜在的に オペレーティングシステム環境でのコード実行を許可する Broadcomチップで使用されます。
なに Linux以外の環境を攻撃できます (たとえば、Appleデバイスへの攻撃の可能性、CVE-2019-8564が確認されています))。
ここで重要なのは、一部のBroadcom Wi-Fiチップが特殊なプロセッサ(ARM Cortex R4またはM3)であり、802.11ワイヤレススタック(FullMAC)の実装からオペレーティングシステムの類似性を実行することです。
上記のチップでは、 コントローラは、ホストシステムとチップファームウェアの相互作用を提供します Wi-Fiを利用できます。
攻撃の説明:
FullMACが侵害された後、メインシステムを完全に制御するには、追加の脆弱性を使用するか、一部のチップのシステムメモリへのフルアクセスを使用することをお勧めします。
SoftMACチップでは、802.11ワイヤレススタックはコントローラー側に実装され、システムCPUによって実行されます。
コントローラでは、 脆弱性は、wl独自のドライバーの両方に現れます (SoftMACおよびFullMAC)オープンbrcmfmac(FullMAC)と同様。
wlドライバでは、XNUMXつのバッファオーバーフローが検出されます。これらは、接続ネゴシエーションプロセス中にアクセスポイントが特別に細工したEAPOLメッセージを送信するときに悪用されます(悪意のあるアクセスポイントに接続することで攻撃を実行できます)。
SoftMACを搭載したチップの場合、脆弱性はシステムカーネルの侵害につながり、FullMACの場合、コードはファームウェア側で実行される可能性があります。
brcmfmacには、バッファオーバーフローと、処理されたフレームのエラーチェックがあります。これらは、制御フレームの送信によって悪用されます。 Linuxカーネルでは、brcmfmacドライバーの問題がXNUMX月に修正されました。
識別された脆弱性
昨年XNUMX月以降に公開されたXNUMXつの脆弱性 それらはすでに以下のCVEにカタログ化されています。
CVE-2019-9503
ファームウェアとの対話に使用される制御フレームを処理するときのbrcmfmacドライバーの誤った動作。
ファームウェアイベントのあるフレームが外部ソースからのものである場合、コントローラーはそれを破棄しますが、イベントが内部バスを介して受信された場合、フレームは無視されます。
問題は USBを使用するデバイスからのイベントは内部バスを介して送信されるため、攻撃者はファームウェアを正常に転送できます。 USBワイヤレスアダプタを使用する場合にフレームを制御します。
CVE-2019-9500
機能を有効にすると 「無線LANでウェイクアップ」、オーバーフローの原因となる場合があります brcmfmacコントローラー(関数brcmf_wowl_nd_results)で、特別に変更された制御フレームワークを送信します。
この脆弱性 ホストでのコード実行を整理するために使用できます チップエンゲージメント後または組み合わせ。
CVE-2019-9501
メッセージ処理中に発生するwlドライバー(wlc_wpa_sup_eapol関数)のバッファーオーバーフロー。製造元情報フィールドの内容が32バイトを超えています。
CVE-2019-9502
メッセージ処理中に発生するwlドライバ(wlc_wpa_plumb_gtk関数)のバッファオーバーフロー。製造元情報フィールドの内容が164バイトを超えています。