最近 別の問題がAF_PACKETサブシステムで開示されました Linuxカーネル。 ローカルの非特権ユーザーがrootとしてコードを実行できるようにします または、ルートアクセス権がある場合は、分離されたコンテナを終了します。
公開された情報によると、AF_PACKETソケットを作成して脆弱性を悪用するには、CAP_NET_RAW権限が必要です。
ただし、 権限のないユーザーは権限を取得できます 指定 ユーザー名前空間が有効になっているシステムで作成されたコンテナー内。
たとえば、ユーザー名前空間はデフォルトでUbuntuとFedoraに含まれていますが、DebianとRHELでは有効になっていません。 一方、Androidでは、mediaerverプロセスにAF_PACKETソケットを作成する権利があり、これを介して脆弱性が悪用される可能性があります。
AF_PACKETの脆弱性について
脆弱性はtpacket_rcv関数に存在します ネットオフ変数の計算エラーが原因です。
攻撃者は条件を作成できます その下で maclen未満の値を書き込みます netoff変数で、これは オーバーフローが発生します 「macoff = netoff-maclen」を計算してから計算すると、受信データのバッファへのポインタが誤って設定される可能性があります。
その結果、 攻撃者は、割り当てられたバッファの外側の領域に1〜10バイトの書き込みを開始できます。
誤算は2008年2016月以降、つまり現在のすべてのカーネルに存在しますが、割り当てられたバッファの外側の領域に書き込むためにそれを使用する現在知られている機能(脆弱性)は、おそらく4.6年1月に(カーネルから)導入されました。バージョンXNUMX-rcXNUMX以降)、virtio_netサポートの開発。
問題の解決策に関しては、それはまだパッチとして利用可能です。 一方、システム内のルート権限を取得できるエクスプロイトが開発されていることが確認されています。
修正プログラムがすでにディストリビューションで利用可能かどうかを知りたい場合は、次のページでさまざまなディストリビューションのパッケージ更新の外観を追跡できます。 Ubuntu、 フェドーラ, SUSE, Debianの, RHEL, アーチ.
テキストコンソールのテキストスクロールのサポートが削除されました
一方、Linuxカーネルについては、Linuxカーネルのテキストコンソールの実装からテキストスクロールコードが削除されたことが発表されました(CONFIG_VGACON_SOFT_SCROLLBACK)。
コード バグの存在により削除されました、vgaconの開発を監督するマネージャーが不足していたため、修正する人がいませんでした。
そして、それ 数か月前、vgaconで脆弱性が特定され、修正されました (CVE-2020-14331)スクロールバッファに適切なメモリ可用性チェックがないため、バッファオーバーフローが発生する可能性があります。 この脆弱性は開発者の注目を集めました syzbotでvgaconコードのファジングテストを組織した人。
それに加えて さらなる検証により、さらにいくつかの問題が明らかになりました vgaconコードでも同様であり、fbconコントローラーでの変位ソフトウェアの実装に問題があります。
残念ながら、 問題のあるコードは長い間放置されていましたが、 おそらく、開発者がグラフィカルコンソールの使用に切り替え、テキストコンソールの使用が停止されたという事実が原因です(人々はvgaconおよびfbconコンソールを使用し続けていますが、それらは何十年もの間カーネルのメインインターフェイスではなく、両方を広めていますコントローラの組み込みスクロール(Shift + PgUp / PgUp)などの機能はおそらく需要が少ないです)。
この点で、 Linus Torvaldsは、コードを保持しようとしないことに決めました 未請求、しかし単にそれを削除します.
最後に、この機能を必要とするユーザーがいる場合、コンソールでのスクロールをサポートするコードは、メンテナの準備が整うとすぐにカーネルに返されるか、自分でメンテナンスを担当したいと考えています。手、つまり、それに時間を費やしたい唯一の人。