Linux カーネルの AF_PACKET ソケット実装の脆弱性

脆弱性の波から XNUMX 年後 (1, 2, 3, 4, 5) Linux カーネルの AF_PACKET サブシステム内 特定された もう一つの問題 (CVE-2020-14386)、ローカルの特権のないユーザーが root としてコードを実行したり、root アクセス権がある場合は分離されたコンテナーを終了したりすることができます。

AF_PACKET ソケットを作成して脆弱性を悪用するには、CAP_NET_RAW 権限が必要です。 ただし、ユーザー名前空間のサポートが有効になっているシステム上で作成されたコンテナーでは、特権のないユーザーでも指定されたアクセス許可を取得できます。 たとえば、ユーザー名前空間は、Ubuntu と Fedora ではデフォルトで有効になりますが、Debian と RHEL では有効になりません。 Android では、メディアサーバー プロセスに AF_PACKET ソケットを作成する権限があり、それを通じて脆弱性が悪用される可能性があります。

この脆弱性は tpacket_rcv 関数に存在し、netoff 変数の計算エラーが原因で発生します。 攻撃者は、netoff 変数に maclen 変数より小さい値が書き込まれる条件を作成する可能性があります。これにより、「macoff = netoff - maclen」の計算時にオーバーフローが発生し、その後、受信データのバッファーにポインターが誤って設定されます。 その結果、攻撃者は、割り当てられたバッファの境界を越えた領域への 1 ~ 10 バイトの書き込みを開始する可能性があります。 システムのルート権限を取得できるエクスプロイトが開発中であることに注意してください。

この問題は 2008 年 XNUMX 月からカーネルに存在しています。 実際のすべての原子核に現れます。 この修正は現在次のように利用可能です パッチ。 次のページで、ディストリビューション内のパッケージ更新の可用性を追跡できます。 Ubuntu, フェドーラ, SUSE, Debianの, RHEL, アーチ.

出所: オープンネット.ru

コメントを追加します