最近 のXNUMXつの脆弱性に関する重要な情報が公開されました Realtek SDKのコンポーネント。これは、さまざまなワイヤレスデバイスメーカーがファームウェアで使用しています。 検出された問題により、認証されていない攻撃者が昇格したデバイスでコードをリモートで実行できるようになります。
それは、 問題は、200の異なるベンダーの少なくとも65のデバイスモデルに影響します、Asus、A-Link、Beeline、Belkin、Buffalo、D-Link、Edison、Huawei、LG、Logitec、MT -Link、Netgear、Realtek、Smartlink、UPVEL、ZTE、Zyxelのさまざまなモデルのワイヤレスルーターが含まれます。
問題 さまざまなクラスのRTL8xxxSoCベースのワイヤレスデバイスが含まれますワイヤレスルーターやWi-Fiアンプから、照明制御用のIPカメラやスマートデバイスまで。
RTL8xxxチップに基づくデバイスは、XNUMXつのSoCのインストールを含むアーキテクチャを使用します。XNUMXつ目はLinuxベースのメーカーのファームウェアをインストールし、XNUMXつ目はアクセスポイント機能を実装した別の無駄のないLinux環境を実行します。 XNUMX番目の環境の母集団は、SDKでRealtekによって提供される一般的なコンポーネントに基づいています。 これらのコンポーネントは、とりわけ、外部要求の送信の結果として受信したデータを処理します。
脆弱性 Realtek SDK v2.x、Realtek "Jungle" SDK v3.0-3.4、およびRealtek "Luna"を使用する製品に影響します バージョン1.3.2までのSDK。
識別された脆弱性の説明の一部に関して、最初の8.1つには9.8の重大度レベルが割り当てられ、残りはXNUMXに割り当てられたことに言及することが重要です。
- CVE-2021-35392: 「WiFiSimpleConfig」機能を実装するmini_upnpdおよびwscdプロセスのバッファオーバーフロー(mini_upnpdはSSDPおよびwscdパケットを処理し、SSDPをサポートするほか、HTTPプロトコルに基づいてUPnP要求を処理します)。 そうすることで、攻撃者は、コールバックフィールドのポート番号が高すぎる特別に細工されたUPnP SUBSCRIBEリクエストを送信することにより、コードを実行させることができます。
- CVE-2021-35393: SSDPプロトコル(UDPおよびHTTPと同様の要求形式を使用)を使用すると現れる「WiFiSimpleConfig」ドライバーの脆弱性。 この問題は、ネットワーク上のサービスの可用性を判断するためにクライアントから送信されるM-SEARCHメッセージの「ST:upnp」パラメーターを処理するときに512バイトの固定バッファーを使用することが原因で発生します。
- CVE-2021-35394: これは、診断操作(ping、traceroute)の実行を担当するMPデーモンプロセスの脆弱性です。 この問題により、外部ユーティリティの実行時に引数の検証が不十分なため、コマンドを置き換えることができます。
- CVE-2021-35395: は、http / bin / websおよび/ bin / boaサーバーに基づくWebインターフェイスの一連の脆弱性です。 system()関数を使用して外部ユーティリティを実行する前に引数の検証が行われなかったことが原因で、両方のサーバーで一般的な脆弱性が特定されました。 違いは、攻撃に異なるAPIを使用することだけにあります。
どちらのドライバーにも、CSRF攻撃に対する保護と、インターフェイスへのアクセスを内部ネットワークのみに制限しながら、外部ネットワークから要求を送信できる「DNSの再バインド」技術が含まれていませんでした。 プロセスは、デフォルトで事前定義されたスーパーバイザー/スーパーバイザーアカウントも使用しました。
この修正は、Realtek "Luna" SDKアップデート1.3.2aですでにリリースされており、Realtek "Jungle" SDKパッチもリリースの準備が整っています。 このブランチのメンテナンスはすでに中止されているため、Realtek SDK2.xの修正は予定されていません。 機能的エクスプロイトのプロトタイプがすべての脆弱性に対して提供されており、デバイス上でコードを実行できるようになっています。
さらに、 UDPServerプロセスのさらにいくつかの脆弱性の識別が観察されます。 結局のところ、問題の2015つは、9034年に他の研究者によってすでに発見されていましたが、完全には修正されていませんでした。 この問題は、system()関数に渡された引数の適切な検証が不足していることが原因で発生し、 'orf;のような行を送信することで悪用される可能性があります。 ls 'をネットワークポートXNUMXに接続します。
出典 https://www.iot-inspector.com